FWIW Reviewed-by: Linas Vepstas <linasveps...@gmail.com> *** Notes: I wrote the original EEH handler, and three or four ethernet and scsi EEH recovery drivers (including lpfc and qla, if I recall correctly). I've been inactive in kernel development for more than a decade; I did read this patch series (carefully); it seems excellent, from my rather distant viewpoint. My apologies if this email feels like noise to anyone on the cc list; I feel obliged to respond. -- Linas
On Wed, Aug 13, 2025 at 12:11 AM Lukas Wunner <lu...@wunner.de> 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(-) > > -- > 2.47.2 > > -- Patrick: Are they laughing at us? Sponge Bob: No, Patrick, they are laughing next to us.