aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Busch <[email protected]>2021-01-04 15:02:57 -0800
committerBjorn Helgaas <[email protected]>2021-02-23 17:10:42 -0600
commit7a8a22be35a5058366429e311017e05206c43137 (patch)
treee1b79ca6881ea36f2954b6e85e4dc2d76c1dc0b7
parent7d7cbeaba5b7aea8e1e4eb988d6b5e7cb3c34490 (diff)
PCI/AER: Clear AER status from Root Port when resetting Downstream Port
The pci_dev parameter given to aer_root_reset() may be a Downstream Port rather than the Root Port. Get the Root Port from the provided device in order to clear the root's AER status. Link: https://lore.kernel.org/r/[email protected] Tested-by: Hedi Berriche <[email protected]> Signed-off-by: Keith Busch <[email protected]> Signed-off-by: Bjorn Helgaas <[email protected]> Acked-by: Sean V Kelley <[email protected]> Acked-by: Hedi Berriche <[email protected]>
-rw-r--r--drivers/pci/pcie/aer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
index 77b0f2c45bc0..3fd4aaaa627e 100644
--- a/drivers/pci/pcie/aer.c
+++ b/drivers/pci/pcie/aer.c
@@ -1388,7 +1388,7 @@ static pci_ers_result_t aer_root_reset(struct pci_dev *dev)
if (type == PCI_EXP_TYPE_RC_END)
root = dev->rcec;
else
- root = dev;
+ root = pcie_find_root_port(dev);
/*
* If the platform retained control of AER, an RCiEP may not have