2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/arch/s390/pci
Niklas Schnelle 62355f1f87 s390/pci: Allow automatic recovery with minimal driver support
According to Documentation/PCI/pci-error-recovery.rst only the
error_detected() callback in the err_handler struct is mandatory for
a driver to support error recovery. So far s390's error recovery chose
a stricter approach also requiring slot_reset() and resume().

Relax this requirement and only require error_detected(). If a callback
is not implemented EEH and AER treat this as PCI_ERS_RESULT_NONE. This
return value is otherwise used by drivers abstaining from their vote
on how to proceed with recovery and currently also not supported by
s390's recovery code.

So to support missing callbacks in-line with other implementors of the
recovery flow, also handle PCI_ERS_RESULT_NONE. Since s390 only does per
PCI function recovery and does not do voting, treat PCI_ERS_RESULT_NONE
optimistically and proceed through recovery unless other failures
prevent this.

Reviewed-by: Farhan Ali <alifm@linux.ibm.com>
Reviewed-by: Julian Ruess <julianr@linux.ibm.com>
Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
2025-06-28 18:59:00 +02:00
..
Makefile s390/pci: Support mmap() of PCI resources except for ISM devices 2025-03-21 14:54:16 -05:00
pci_bus.c s390/pci: Fix dev.dma_range_map missing sentinel element 2025-03-31 12:20:44 +02:00
pci_bus.h s390/pci: Allow re-add of a reserved but not yet removed device 2025-05-22 16:12:47 +02:00
pci_clp.c s390/pci: Fix missing check for zpci_create_device() error return 2025-05-07 13:35:05 +02:00
pci_debug.c iommu/s390: Implement blocking domain 2024-10-15 10:19:07 +02:00
pci_event.c s390/pci: Allow automatic recovery with minimal driver support 2025-06-28 18:59:00 +02:00
pci_fixup.c s390/pci: Support mmap() of PCI resources except for ISM devices 2025-03-21 14:54:16 -05:00
pci_insn.c s390: Use inline qualifier for all EX_TABLE and ALTERNATIVE inline assemblies 2025-03-18 17:13:51 +01:00
pci_iov.c s390/pci: Fix handling of isolated VFs 2025-02-11 19:35:08 +01:00
pci_iov.h s390/pci: Fix handling of isolated VFs 2025-02-11 19:35:08 +01:00
pci_irq.c s390/pci: Allow allocation of more than 1 MSI interrupt 2024-07-23 15:54:58 +02:00
pci_kvm_hook.c KVM: s390: pci: Hook to access KVM lowlevel from VFIO 2022-08-29 13:29:28 +02:00
pci_mmio.c s390/pci: Fix __pcilg_mio_inuser() inline assembly 2025-05-21 12:02:27 +02:00
pci_report.c s390/pci: Add pci_msg debug view to PCI report 2024-12-16 16:14:27 +01:00
pci_report.h s390/pci: Report PCI error recovery results via SCLP 2024-12-16 16:14:26 +01:00
pci_sysfs.c iommu/s390: handle IOAT registration based on domain 2025-02-21 12:01:58 +01:00
pci.c s390/pci: Serialize device addition and removal 2025-05-22 16:12:53 +02:00