)]}'
{
  "commit": "c4635eb06af700820d658a163f06aff12e17cfb2",
  "tree": "97bae8af21e7dc26374de8d9ed45e9f112b7de5a",
  "parents": [
    "e4ec7a00ed30429030112e5591cf3138645727c2"
  ],
  "author": {
    "name": "Kenji Kaneshige",
    "email": "kaneshige.kenji@jp.fujitsu.com",
    "time": "Fri Jun 20 12:07:08 2008 +0900"
  },
  "committer": {
    "name": "Jesse Barnes",
    "email": "jbarnes@virtuousgeek.org",
    "time": "Fri Jun 27 13:00:43 2008 -0700"
  },
  "message": "pciehp: fix interrupt initialization\n\nCurrent pciehp driver\u0027s intialization sequence is as follows:\n\n(1) initialize controller data structure\n(2) install interrupt handler\n(3) enable software notification\n(4) initialize controller specific slot data structure\n(5) initialize generic slot data structure and register it to pci hotplug core\n\nThe interrupt handler of pciehp assumes that controller specific slot\ndata structure is already initialized. However, it is installed at (2)\nbefore initializing controller specific slot data structure at\n(4). Because of this, pciehp driver cannot handle the following cases\nproperly.\n\n- If devices that shares IRQ with pciehp raise interrupts between (2) and (4).\n- If hotplug events (e.g. MRL open) happen between (3) and (4).\n\nWe already have a workaround for this problem (\"pciehp: fix NULL\ndereference in interrupt handler: dbd79aed1aea2bece0bf43cc2ff3b2f9baf48a08).\nBut we still need fundamental fix.\n\nThis patch fix the problem by changing the initilization sequence as follows:\n\n(1) initialize controller data structure\n(2) initialize controller specific slot data structure\n(3) install interrupt handler\n(4) enable software notification\n(5) initialize generic slot data structure and register it to pci hotplug core\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nAcked-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8492fab800ccbc82e2d47d7647aaeb8964baa32e",
      "old_mode": 33188,
      "old_path": "drivers/pci/hotplug/pciehp.h",
      "new_id": "d17233ae06f5ed2afa91a0f301ea952940379c44",
      "new_mode": 33188,
      "new_path": "drivers/pci/hotplug/pciehp.h"
    },
    {
      "type": "modify",
      "old_id": "7b21c86e4bfff3e53092572b053e1314db7d20a7",
      "old_mode": 33188,
      "old_path": "drivers/pci/hotplug/pciehp_core.c",
      "new_id": "d0fb569369118c957ce66cbef94b36e0242c18dc",
      "new_mode": 33188,
      "new_path": "drivers/pci/hotplug/pciehp_core.c"
    },
    {
      "type": "modify",
      "old_id": "59c28093d2913476406a60451067e284c19c9ab2",
      "old_mode": 33188,
      "old_path": "drivers/pci/hotplug/pciehp_hpc.c",
      "new_id": "1ce52437e1ed24f2167f90238836cccc8fa3dcab",
      "new_mode": 33188,
      "new_path": "drivers/pci/hotplug/pciehp_hpc.c"
    }
  ]
}
