Skip to content

PCI: Reduce AER / EEH deviations

Lukas Wunner linux-pci linux-scsi linuxppc-dev netdev 1 version Applied

Status from this message: Applied to pci/aer for v6.18, thanks, Lukas!

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 17 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/5PCI/AER: Allow drivers to opt in to Bus Reset on Non-Fatal Errorsdrivers/pci/pcie/err.c+10 -710 replies
2/5PCI/ERR: Fix uevent on failure to recoverdrivers/pci/pcie/err.c+7 -12 replies
3/5PCI/ERR: Notify drivers on failure to recoverdrivers/pci/pcie/err.c+12 -01 reply
4/5PCI/ERR: Update device error_state already after resetdrivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c drivers/pci/pcie/err.c +1 more+2 -91 reply
5/5PCI/ERR: Remove remnants of .link_reset() callbackdrivers/net/ethernet/sfc/efx_common.c drivers/net/ethernet/sfc/falcon/efx.c drivers/net/ethernet/sfc/siena/efx_common.c +1 more+1 -101 reply

Reviews trailers per patch

All 5 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchKuppuswamy SathyanarayananLinas VepstasNiklas Schnelle
SeriesR-b
1/5R-b
2/5R-b R-b
3/5R-b
4/5R-b
5/5R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v1 thread

Cover letter [PATCH 0/5] PCI: Reduce AER / EEH deviations

The kernel supports three different PCI error recovery mechanisms:

* AER per PCIe r7.0 sec 6.2 (drivers/pci/pcie/aer.c + err.c)
* EEH on PowerPC (arch/powerpc/kernel/eeh_driver.c)
* zPCI on s390 (arch/s390/pci/pci_event.c)

In theory, they should all follow Documentation/PCI/pci-error-recovery.rst to afford uniform behavior to drivers across platforms.

In practice, there are deviations which this series seeks to reduce.

One particular pain point is AER not allowing drivers to opt in to a Bus Reset on Non-Fatal Errors (patch [1/5]). EEH allows this and the "xe" graphics driver would like to take advantage of it on AER-capable platforms. Patches [2/5] to [4/5] address various other deviations, while patch [5/5] cleans up old gunk in code comments.

I've gone through all drivers implementing pci_error_handlers to ascertain that no regressions are introduced by these changes. Nevertheless further reviewing and testing would be appreciated to raise the confidence. Thanks!

Lukas Wunner (5):
PCI/AER: Allow drivers to opt in to Bus Reset on Non-Fatal Errors PCI/ERR: Fix uevent on failure to recover
PCI/ERR: Notify drivers on failure to recover
PCI/ERR: Update device error_state already after reset PCI/ERR: Remove remnants of .link_reset() callback

 .../ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c   |  1 -
 .../net/ethernet/qlogic/qlcnic/qlcnic_main.c  |  2 -
 drivers/net/ethernet/sfc/efx_common.c         |  3 --
 drivers/net/ethernet/sfc/falcon/efx.c         |  3 --
 drivers/net/ethernet/sfc/siena/efx_common.c   |  3 --
 drivers/pci/pcie/err.c                        | 40 ++++++++++++++-----
 drivers/scsi/lpfc/lpfc_init.c                 |  2 +-
 drivers/scsi/qla2xxx/qla_os.c                 |  5 ---
 8 files changed, 32 insertions(+), 27 deletions(-)
Signature · 1 line
2.47.2