This series is all about error handling and hot plug. It should get the AER fatal handling much like how it was before where we don't always tear down and re-enumerate the topology, but even better in taht it won't trigger hotplug events to the extent possibe to suppress link events that occur from the secondary bus reset. Ports that do not implement an out-of-band presence detection mechanism may still have their device removed on the DPC and AER error handling, but at least error handling for non-hot pluggable ports won't experience removals anymore. Some of these are simple bug fixes, some are more complicated. Patch 11 fixes a long-standing issue where a RP detected fatal error never restored the downstream bridges, making recovery of end devices below those switches bound to fail after a secondary bus reset resets the bridge's config memory and bus windows. Comments welcomed! Keith Busch (15): PCI: Fix pci_reset_bus PCI/AER: Remove dead code PCI/ERR: Use slot reset if available PCI/ERR: Handle fatal error recovery PCI/ERR: Remove devices on recovery failure PCI/ERR: Always use the first downstream port PCI/ERR: Simplify broadcast callouts PCI/ERR: Report current recovery status for udev PCI/portdrv: Provide pci error callbacks PCI/portdrv: Restore pci state on slot reset PCI/pciehp: Fix powerfault detection order PCI/pciehp: Implement error handling callbacks PCI/pciehp: Ignore link events during DPC event PCI/DPC: Wait for reset complete PCI: Unify device inaccessible Lukas Wunner (1): PCI: Simplify disconnected marking drivers/pci/hotplug/pciehp.h | 1 + drivers/pci/hotplug/pciehp_core.c | 51 +++++++ drivers/pci/hotplug/pciehp_hpc.c | 34 +++-- drivers/pci/hotplug/pciehp_pci.c | 9 +- drivers/pci/pci.c | 32 ++++- drivers/pci/pci.h | 12 +- drivers/pci/pcie/aer.c | 15 +- drivers/pci/pcie/dpc.c | 40 ++++-- drivers/pci/pcie/err.c | 293 ++++++++++++++------------------------ drivers/pci/pcie/portdrv.h | 6 + drivers/pci/pcie/portdrv_pci.c | 37 ++++- include/linux/pci.h | 6 + 12 files changed, 299 insertions(+), 237 deletions(-) -- 2.14.4