linux/drivers/pci/pcie/aer
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
..
Kconfig PCI: fix AER driver error information 2007-07-11 16:02:08 -07:00
Makefile PCI: fix AER driver error information 2007-07-11 16:02:08 -07:00
aerdrv.c PCI: use pci_find_ext_capability everywhere 2008-10-20 11:01:51 -07:00
aerdrv.h PCI: fix AER driver error information 2007-07-11 16:02:08 -07:00
aerdrv_acpi.c ACPI/PCI: PCIe AER _OSC support capabilities called when root bridge added 2009-01-07 11:12:30 -08:00
aerdrv_core.c PCIe: AER: during disable, check subordinate before walking 2009-03-12 15:09:51 -04:00
aerdrv_errprint.c PCI hotplug: aerdrv: fix a typo in error message 2009-01-07 11:12:41 -08:00