From: Andrew Patterson Date: Fri, 22 Jan 2010 21:06:53 +0000 (-0700) Subject: PCI: fix nested spinlock hang in aer_inject X-Git-Tag: v2.6.33-rc6~9^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bd1f46deba615971a58193afd0202878cadf19a7;p=pandora-kernel.git PCI: fix nested spinlock hang in aer_inject The aer_inject module hangs in aer_inject() when checking the device's error masks. The hang is due to a recursive use of the aer_inject lock. The aer_inject() routine grabs the lock while processing the error and then calls pci_read_config_dword to read the masks. The pci_read_config_dword routine is earlier overridden by pci_read_aer, which among other things, grabs the aer_inject lock. Fixed by moving the pci_read_config_dword calls to read the masks to before the lock is taken. Acked-by: Huang Ying Signed-off-by: Andrew Patterson Signed-off-by: Jesse Barnes --- Reading git-diff-tree failed