summaryrefslogtreecommitdiffstats
path: root/drivers/pci/pci.h
diff options
context:
space:
mode:
authorKeith Busch2018-09-20 18:27:11 +0200
committerBjorn Helgaas2018-09-21 19:18:10 +0200
commitc4eed62a214330908eec11b0dc170d34fa50b412 (patch)
tree8c8f5bfc802300f7aab110888fd25bce0d1bbae2 /drivers/pci/pci.h
parentPCI/AER: Don't read upstream ports below fatal errors (diff)
downloadkernel-qcow2-linux-c4eed62a214330908eec11b0dc170d34fa50b412.tar.gz
kernel-qcow2-linux-c4eed62a214330908eec11b0dc170d34fa50b412.tar.xz
kernel-qcow2-linux-c4eed62a214330908eec11b0dc170d34fa50b412.zip
PCI/ERR: Use slot reset if available
The secondary bus reset may have link side effects that a hotplug capable port may incorrectly react to. Use the slot specific reset for hotplug ports, fixing the undesirable link down-up handling during error recovering. Signed-off-by: Keith Busch <keith.busch@intel.com> [bhelgaas: fold in https://lore.kernel.org/linux-pci/20180926152326.14821-1-keith.busch@intel.com for issue reported by Stephen Rothwell <sfr@canb.auug.org.au>] Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Sinan Kaya <okaya@kernel.org>
Diffstat (limited to 'drivers/pci/pci.h')
-rw-r--r--drivers/pci/pci.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index b5af5642c6c9..b4ada8c383a8 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -35,6 +35,7 @@ int pci_mmap_fits(struct pci_dev *pdev, int resno, struct vm_area_struct *vmai,
int pci_probe_reset_function(struct pci_dev *dev);
int pci_bridge_secondary_bus_reset(struct pci_dev *dev);
+int pci_bus_error_reset(struct pci_dev *dev);
/**
* struct pci_platform_pm_ops - Firmware PM callbacks
@@ -136,6 +137,7 @@ static inline void pci_remove_legacy_files(struct pci_bus *bus) { return; }
/* Lock for read/write access to pci device and bus lists */
extern struct rw_semaphore pci_bus_sem;
+extern struct mutex pci_slot_mutex;
extern raw_spinlock_t pci_lock;