linux/drivers/pci/pcie
Alex Chiang cb4cb4ac73 PCIe: AER: during disable, check subordinate before walking
Commit 47a8b0cc (Enable PCIe AER only after checking firmware
support) wants to walk the PCI bus in the remove path to disable
AER, and calls pci_walk_bus for downstream bridges.

Unfortunately, in the remove path, we remove devices and bridges
in a depth-first manner, starting with the furthest downstream
bridge and working our way backwards.

The furthest downstream bridges will not have a dev->subordinate,
and we hit a NULL deref in pci_walk_bus.

Check for dev->subordinate first before attempting to walk the
PCI hierarchy below us.

Acked-by: Andrew Patterson <andrew.patterson@hp.com>
Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
2009-03-12 15:09:51 -04:00
..
aer PCIe: AER: during disable, check subordinate before walking 2009-03-12 15:09:51 -04:00
aspm.c PCI: properly clean up ASPM link state on device remove 2009-02-04 16:58:40 -08:00
Kconfig PCI Express ASPM support should default to 'No' 2008-04-23 15:41:14 -07:00
Makefile PCI: add PCI Express ASPM support 2008-04-20 21:47:03 -07:00
portdrv_bus.c PCI: PCIe portdrv: Rearrange code so that related things are together 2009-01-07 11:13:27 -08:00
portdrv_core.c PCI: PCIe portdrv: Add kerneldoc comments to remining core funtions 2009-01-07 11:13:27 -08:00
portdrv_pci.c PCI: Enable PCIe AER only after checking firmware support 2009-02-24 09:47:46 -08:00
portdrv.h PCI: fix AER capability check 2008-10-20 11:01:52 -07:00