android_kernel_xiaomi_sm8350/drivers/pci
Andrew Patterson bd1f46deba 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 <ying.huang@intel.com>
Signed-off-by: Andrew Patterson <andrew.patterson@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-01-25 10:42:52 -08:00
..
hotplug PCI: change PCI nomenclature in drivers/pci/ (comment changes) 2009-12-16 13:37:53 -08:00
pcie PCI: fix nested spinlock hang in aer_inject 2010-01-25 10:42:52 -08:00
.gitignore
access.c
bus.c
dmar.c Merge git://git.infradead.org/iommu-2.6 2009-12-16 10:11:38 -08:00
hotplug-pci.c
hotplug.c
htirq.c
intel-iommu.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-12-30 13:13:24 -08:00
intr_remapping.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-12-30 13:13:24 -08:00
intr_remapping.h
ioapic.c PCI hotplug: move IOAPIC support from acpiphp to ioapic driver 2009-11-04 13:06:39 -08:00
iov.c PCI: use pci_is_pcie() in pci core 2009-11-24 15:25:16 -08:00
iova.c
irq.c
Kconfig PCI: remove pci_find_slot from PCI_LEGACY config description 2009-11-04 13:06:42 -08:00
legacy.c
Makefile PCI hotplug: move IOAPIC support from acpiphp to ioapic driver 2009-11-04 13:06:39 -08:00
msi.c
msi.h
pci-acpi.c PCI/PM: Propagate wake-up enable for PCIe devices too 2009-12-16 13:37:49 -08:00
pci-driver.c
pci-stub.c
pci-sysfs.c PCI: Check the node argument passed to cpumask_of_node 2010-01-04 15:10:56 -08:00
pci.c PCI/PM: Use per-device D3 delays 2010-01-04 15:41:47 -08:00
pci.h PCI: Fix build if quirks are not enabled 2009-12-31 12:00:45 -08:00
probe.c PCI: add pci_request_acs 2009-12-04 16:19:24 -08:00
proc.c
quirks.c pci: avoid compiler warning in quirks.c 2009-12-31 16:44:43 -08:00
remove.c
rom.c
search.c PCI: change PCI nomenclature in drivers/pci/ (comment changes) 2009-12-16 13:37:53 -08:00
setup-bus.c PCI: Always set prefetchable base/limit upper32 registers 2009-12-04 15:52:43 -08:00
setup-irq.c
setup-res.c PCI: improve discovery/configuration messages 2009-11-04 13:06:44 -08:00
slot.c
syscall.c