linux/arch/s390
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
..
appldata treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
boot s390/boot: Use strspcy() instead of strcpy() 2025-04-30 11:41:28 +02:00
configs This update includes the following changes: 2025-05-26 13:47:28 -07:00
crypto s390 updates for 6.16 merge window 2025-05-26 14:36:05 -07:00
hypfs VFS: rename lookup_one_len family to lookup_noperm and remove permission check 2025-04-08 11:24:36 +02:00
include s390/ptrace: Fix pointer dereferencing in regs_get_kernel_stack_nth() 2025-06-17 18:15:25 +02:00
kernel Kbuild updates for v6.16 2025-06-07 10:05:35 -07:00
kvm KVM: s390: rename PROT_NONE to PROT_TYPE_DUMMY 2025-06-05 22:02:22 -07:00
lib This push fixes a loongarch header regression and a module name 2025-06-03 08:03:45 -07:00
mm more s390 updates for 6.16 merge window 2025-06-06 18:02:37 -07:00
net s390/bpf: Use kernel's expoline thunks 2025-05-22 08:40:56 -07:00
pci s390/pci: Allow automatic recovery with minimal driver support 2025-06-28 18:59:00 +02:00
purgatory s390/purgatory: Use -D__DISABLE_EXPORTS 2025-02-18 18:49:24 +01:00
tools s390: Allow to compile with z17 optimizations 2025-04-09 12:12:41 +02:00
Kbuild - An extensive rework of kexec and crash Kconfig from Eric DeVolder 2023-08-29 14:53:51 -07:00
Kconfig s390/mm: Select ARCH_WANT_IRQS_OFF_ACTIVATE_MM 2025-04-14 11:23:21 +02:00
Kconfig.debug s390/mm: Add configurable STRICT_MM_TYPECHECKS 2025-03-11 15:27:34 +01:00
Makefile s390: Allow to compile with z17 optimizations 2025-04-09 12:12:41 +02:00
Makefile.postlink kbuild: Create intermediate vmlinux build with relocations preserved 2025-03-17 00:29:50 +09:00