)]}'
{
  "commit": "bd1f46deba615971a58193afd0202878cadf19a7",
  "tree": "1a197e82ad0f6314f0ff0507c04030aaad933c7c",
  "parents": [
    "61c39bb354a1f791ba6f562b766a72e508a036ee"
  ],
  "author": {
    "name": "Andrew Patterson",
    "email": "andrew.patterson@hp.com",
    "time": "Fri Jan 22 14:06:53 2010 -0700"
  },
  "committer": {
    "name": "Jesse Barnes",
    "email": "jbarnes@virtuousgeek.org",
    "time": "Mon Jan 25 10:42:52 2010 -0800"
  },
  "message": "PCI: fix nested spinlock hang in aer_inject\n\nThe aer_inject module hangs in aer_inject() when checking the device\u0027s\nerror masks.  The hang is due to a recursive use of the aer_inject lock.\nThe aer_inject() routine grabs the lock while processing the error and then\ncalls pci_read_config_dword to read the masks. The pci_read_config_dword\nroutine is earlier overridden by pci_read_aer, which among other things,\ngrabs the aer_inject lock.\n\nFixed by moving the pci_read_config_dword calls to read the masks to before\nthe lock is taken.\n\nAcked-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8c30a9544d61f07176fbf69a59b84c2afabf9e8a",
      "old_mode": 33188,
      "old_path": "drivers/pci/pcie/aer/aer_inject.c",
      "new_id": "223052b735634c697739ca37396d10154c93c72c",
      "new_mode": 33188,
      "new_path": "drivers/pci/pcie/aer/aer_inject.c"
    }
  ]
}
