diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2021-02-24 23:59:18 +0300 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2021-02-24 23:59:18 +0300 |
commit | c3900329b53f7a1df38ccc9cb8c8969138114d30 (patch) | |
tree | f972bf5cc1adda093d21a42aa6365f33439db888 /drivers/pci/pcie/portdrv_pci.c | |
parent | ce3e292eb703eb2bbe2708f9a59c3947aa99742e (diff) | |
parent | ba952824e6c106f979c07814c8e3ef7405dd7b29 (diff) | |
download | linux-c3900329b53f7a1df38ccc9cb8c8969138114d30.tar.xz |
Merge branch 'pci/error'
- Clear AER status of the reporting device (Keith Busch)
- Clear AER status from Root Port when resetting Downstream Port (Keith
Busch)
- Retain status from error notification (Keith Busch)
- Log the type of Port that was reset for error handling (Keith Busch)
- Report reset for frozen channel (Keith Busch)
* pci/error:
PCI/portdrv: Report reset for frozen channel
PCI/AER: Specify the type of Port that was reset
PCI/ERR: Retain status from error notification
PCI/AER: Clear AER status from Root Port when resetting Downstream Port
PCI/ERR: Clear status of the reporting device
Diffstat (limited to 'drivers/pci/pcie/portdrv_pci.c')
-rw-r--r-- | drivers/pci/pcie/portdrv_pci.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.c index 0b250bc5f405..de141bfb0bc2 100644 --- a/drivers/pci/pcie/portdrv_pci.c +++ b/drivers/pci/pcie/portdrv_pci.c @@ -153,7 +153,8 @@ static void pcie_portdrv_remove(struct pci_dev *dev) static pci_ers_result_t pcie_portdrv_error_detected(struct pci_dev *dev, pci_channel_state_t error) { - /* Root Port has no impact. Always recovers. */ + if (error == pci_channel_io_frozen) + return PCI_ERS_RESULT_NEED_RESET; return PCI_ERS_RESULT_CAN_RECOVER; } |