On Wed, Aug 13, 2025 at 07:11:00AM +0200, Lukas Wunner wrote: > 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(-)
Applied to pci/aer for v6.18, thanks, Lukas!