linux/arch/powerpc/kernel
Ganesh Goudar d1679b4fa1 powerpc/eeh: Permanently disable the removed device
When a device is hot removed on powernv, the hotplug driver clears
the device's state. However, on pseries, if a device is removed by
phyp after reaching the error threshold, the kernel remains unaware,
leading to the device not being torn down. This prevents necessary
remediation actions like failover.

Permanently disable the device if the presence check fails.

Also, in eeh_dev_check_failure in we may consider the error as false
positive if the device is hotpluged out as the get_state call returns
EEH_STATE_NOT_SUPPORT and we may end up not clearing the device state,
so log the event if the state is not moved to permanent failure state.

Signed-off-by: Ganesh Goudar <ganeshgr@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240422075737.1405551-1-ganeshgr@linux.ibm.com
2024-04-29 23:51:15 +10:00
..
ptrace powerpc: Replace GPL 2.0+ README.legal boilerplate with SPDX 2023-09-19 20:05:58 +10:00
syscalls lsm/stable-6.8 PR 20240105 2024-01-09 12:57:46 -08:00
trace powerpc/ftrace: Ignore ftrace locations in exit text sections 2024-02-14 14:24:06 +11:00
vdso powerpc/vdso: No need to undef powerpc for 64-bit build 2023-12-07 23:34:38 +11:00
.gitignore
85xx_entry_mapping.S powerpc: Remove CONFIG_FSL_BOOKE 2022-09-26 22:47:37 +10:00
align.c
asm-offsets.c powerpc: Remove duplicate/unnecessary ifdefs 2024-02-21 15:15:40 +11:00
audit.c powerpc: address missing-prototypes warnings 2023-08-02 22:22:19 +10:00
audit_32.h powerpc: address missing-prototypes warnings 2023-08-02 22:22:19 +10:00
btext.c powerpc: Use shared font data 2023-10-01 23:09:02 +11:00
cacheinfo.c
cacheinfo.h
compat_audit.c powerpc: address missing-prototypes warnings 2023-08-02 22:22:19 +10:00
cpu_setup_6xx.S powerpc/6xx: set High BAT Enable flag on G2_LE cores 2024-02-05 22:54:49 +11:00
cpu_setup_44x.S
cpu_setup_e500.S powerpc/32: Fix objtool unannotated intra-function call warnings 2022-11-18 19:00:06 +11:00
cpu_setup_pa6t.S
cpu_setup_power.c powerpc/dexcr: Add initial Dynamic Execution Control Register (DEXCR) support 2023-06-19 17:36:25 +10:00
cpu_setup_ppc970.S
cpu_specs.h powerpc/cputable: Split cpu_specs[] for mpc85xx and e500mc 2022-09-26 23:00:05 +10:00
cpu_specs_8xx.h powerpc/cputable: Split cpu_specs[] out of cputable.h 2022-09-26 22:47:13 +10:00
cpu_specs_40x.h powerpc/cputable: Split cpu_specs[] out of cputable.h 2022-09-26 22:47:13 +10:00
cpu_specs_44x.h powerpc/cputable: Split cpu_specs[] out of cputable.h 2022-09-26 22:47:13 +10:00
cpu_specs_47x.h powerpc/cputable: Split cpu_specs[] out of cputable.h 2022-09-26 22:47:13 +10:00
cpu_specs_85xx.h powerpc/cputable: Split cpu_specs[] for mpc85xx and e500mc 2022-09-26 23:00:05 +10:00
cpu_specs_book3s_32.h powerpc/cputable: Split cpu_specs[] out of cputable.h 2022-09-26 22:47:13 +10:00
cpu_specs_book3s_64.h powerpc: Add Power11 architected and raw mode 2024-02-21 23:11:00 +11:00
cpu_specs_e500mc.h powerpc/cputable: Add missing PPC_FEATURE_BOOKE on PPC64 Book-E 2024-02-14 14:24:06 +11:00
cputable.c powerpc: Make cpu_spec __ro_after_init 2023-11-27 22:01:14 +11:00
crash_dump.c powerpc/fadump: make is_kdump_kernel() return false when fadump is active 2023-09-18 12:23:27 +10:00
dawr.c
dbell.c powerpc/64: Fix perf profiling asynchronous interrupt handlers 2023-01-30 20:07:42 +11:00
dma-iommu.c powerpc/iommu: Incorrect DDW Table is referenced for SR-IOV device 2023-05-17 00:54:55 +10:00
dma-mask.c dma-mapping: move arch_dma_set_mask() declaration to header 2023-07-31 17:54:28 +02:00
dma-swiotlb.c
dt_cpu_ftrs.c powerpc: Add Power11 architected and raw mode 2024-02-21 23:11:00 +11:00
early_32.c
eeh.c powerpc/eeh: Permanently disable the removed device 2024-04-29 23:51:15 +10:00
eeh_cache.c
eeh_driver.c powerpc/eeh: Permanently disable the removed device 2024-04-29 23:51:15 +10:00
eeh_event.c
eeh_pe.c powerpc/eeh: Rely on dev->link_active_reporting 2023-06-14 17:58:12 -05:00
eeh_sysfs.c
entry_32.S powerpc/47x: Fix 47x syscall return crash 2023-10-11 09:31:26 +11:00
epapr_hcalls.S powerpc: replace #include <asm/export.h> with #include <linux/export.h> 2023-08-16 23:54:48 +10:00
epapr_paravirt.c
exceptions-64e.S powerpc: Remove orphaned reg_a2.h 2023-11-27 22:01:14 +11:00
exceptions-64s.S docs: move powerpc under arch 2023-10-10 13:35:55 -06:00
fadump.c powerpc/fadump: add hotplug_ready sysfs interface 2024-04-29 23:51:15 +10:00
firmware.c powerpc: Export kvm_guest static key, for bcachefs six locks 2024-01-01 11:47:38 -05:00
fpu.S powerpc: Don't clobber f0/vs0 during fp|altivec register save 2023-11-28 23:04:43 +11:00
head_8xx.S powerpc: remove unneeded #include <asm/export.h> 2023-08-16 23:54:48 +10:00
head_32.h powerpc: add a definition for the marker offset within the interrupt frame 2022-12-02 17:54:08 +11:00
head_40x.S powerpc/40x: Introduce _PAGE_READ and remove _PAGE_USER 2023-10-19 17:12:47 +11:00
head_44x.S powerpc/44x: Introduce _PAGE_READ and remove _PAGE_USER 2023-10-19 17:12:46 +11:00
head_64.S powerpc updates for 6.6 2023-08-31 12:43:10 -07:00
head_85xx.S powerpc/e500: Introduce _PAGE_READ and remove _PAGE_USER 2023-10-19 17:12:46 +11:00
head_book3s_32.S powerpc/32s: Introduce _PAGE_READ and remove _PAGE_USER 2023-10-19 17:12:47 +11:00
head_booke.h powerpc/32: Include thread_info.h in head_booke.h 2023-04-11 23:13:33 +10:00
hw_breakpoint.c powerpc/watchpoints: Annotate atomic context in more places 2023-09-18 12:23:47 +10:00
hw_breakpoint_constraints.c powerpc/watchpoint: Disable pagefaults when getting user instruction 2023-09-18 12:23:47 +10:00
idle.c powerpc: Remove now superfluous sentinel element from ctl_table arrays 2023-10-10 15:22:02 -07:00
idle_6xx.S
idle_64e.S powerpc: add ISA v3.0 / v3.1 wait opcode macro 2022-09-28 19:22:10 +10:00
idle_85xx.S powerpc: Cleanup idle for e500 2022-09-26 23:00:14 +10:00
idle_book3s.S
ima_arch.c integrity: Always reference the blacklist keyring with appraisal 2023-08-01 08:17:25 -04:00
interrupt.c rseq: Split out rseq.h from sched.h 2023-12-27 11:49:56 -05:00
interrupt_64.S powerpc/64: Set task pt_regs->link to the LR value on scv entry 2024-02-05 22:43:19 +11:00
io-workarounds.c
io.c powerpc: Cast away __iomem in low level IO routines 2023-10-19 17:16:20 +11:00
iomap.c
iommu.c powerpc fixes for 6.8 #4 2024-02-24 16:49:51 -08:00
irq.c powerpc/irq: Allow softirq to hardirq stack transition 2024-03-03 22:20:29 +11:00
irq_64.c work around gcc bugs with 'asm goto' with outputs 2024-02-09 15:57:48 -08:00
isa-bridge.c mm: Introduce vmap_page_range() to map pages in PCI address space 2024-03-11 16:58:10 +01:00
jump_label.c
kdebugfs.c
kgdb.c powerpc: add definition for pt_regs offset within an interrupt frame 2022-12-02 17:54:08 +11:00
kprobes-ftrace.c
kprobes.c powerpc/kprobes: Handle error returned by set_memory_rox() 2024-02-22 21:55:33 +11:00
kvm.c powerpc: Remove CONFIG_PPC_BOOK3E_MMU 2022-09-26 23:00:14 +10:00
kvm_emul.S
l2cr_6xx.S
legacy_serial.c powerpc: Explicitly include correct DT includes 2023-08-02 22:22:19 +10:00
Makefile powerpc: remove unused KCSAN_SANITIZE_early_64.o in Makefile 2024-02-19 16:16:58 +11:00
mce.c powerpc/mce: log the error for all unrecoverable errors 2023-02-10 22:17:34 +11:00
mce_power.c
misc.S powerpc: replace #include <asm/export.h> with #include <linux/export.h> 2023-08-16 23:54:48 +10:00
misc_32.S powerpc: replace #include <asm/export.h> with #include <linux/export.h> 2023-08-16 23:54:48 +10:00
misc_64.S powerpc: replace #include <asm/export.h> with #include <linux/export.h> 2023-08-16 23:54:48 +10:00
module.c
module_32.c module: replace module_layout with module_memory 2023-03-09 12:55:15 -08:00
module_64.c powerpc/ftrace: Add support for -fpatchable-function-entry 2023-08-22 00:09:06 +10:00
msi.c
note.S
nvram_64.c
of_platform.c powerpc: Explicitly include correct DT includes 2023-08-02 22:22:19 +10:00
optprobes.c powerpc/kprobes: Have optimized_callback() use preempt_enable() 2022-11-24 23:31:49 +11:00
optprobes_head.S powerpc: add definition for pt_regs offset within an interrupt frame 2022-12-02 17:54:08 +11:00
paca.c docs: move powerpc under arch 2023-10-10 13:35:55 -06:00
pci-common.c powerpc: Remove file parameter from phys_mem_access_prot() 2023-11-06 15:21:33 +11:00
pci-hotplug.c
pci_32.c powerpc/pci: Add option for using pci_to_OF_bus_map 2023-02-07 20:15:23 +11:00
pci_64.c powerpc/pci_64: Init pcibios subsys a bit later 2023-03-14 23:36:27 +11:00
pci_dn.c
pci_of_scan.c
pmc.c powerpc/85xx: Mark some functions static and add missing includes to fix no previous prototype error 2023-08-23 15:55:21 +10:00
ppc_save_regs.S powerpc: update ppc_save_regs to save current r1 in pt_regs 2023-06-19 17:37:14 +10:00
proc_powerpc.c
process.c KVM: PPC: Book3S HV: Fix KVM_RUN clobbering FP/VEC user registers 2023-11-29 22:24:21 +11:00
prom.c powerpc/mm: Update the memory limit based on direct mapping restrictions 2024-04-19 16:09:14 +10:00
prom_entry_64.S powerpc/64: Rename entry_64.S to prom_entry_64.S 2023-06-15 14:04:19 +10:00
prom_init.c powerpc/mm: Align memory_limit value specified using mem= kernel parameter 2024-04-19 16:09:14 +10:00
prom_init_check.sh kasan, powerpc: don't rename memintrinsics if compiler adds prefixes 2023-03-23 17:18:33 -07:00
prom_parse.c
reloc_32.S
reloc_64.S powerpc/64: avoid using r13 in relocate 2022-09-28 19:22:13 +10:00
rtas-proc.c powerpc/rtas: Fix ppc_rtas_rmo_buf_show() kernel-doc 2023-11-07 13:13:45 +11:00
rtas-rtc.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
rtas.c powerpc/rtas: use correct function name for resetting TCE tables 2024-02-23 17:21:12 +11:00
rtas_entry.S
rtas_flash.c powerpc/rtas_flash: allow user copy to flash block cache objects 2023-08-17 09:46:14 +10:00
rtas_pci.c powerpc/rtas_pci: rename and properly expose config access APIs 2023-11-28 21:49:45 +11:00
rtasd.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
secure_boot.c powerpc: Stop using of_root 2024-03-03 22:20:29 +11:00
security.c powerpc/security: Fix Speculation_Store_Bypass reporting on Power10 2023-07-10 09:47:47 +10:00
secvar-ops.c powerpc/secvar: Warn and error if multiple secvar ops are set 2023-02-12 22:12:36 +11:00
secvar-sysfs.c powerpc/secvar: Don't print error on ENOENT when reading variables 2023-02-12 22:12:37 +11:00
setup-common.c powerpc: Use str_plural() in cpu_init_thread_core_maps() 2024-04-03 14:29:28 +11:00
setup.h powerpc: Remove CONFIG_PPC_BOOK3E 2022-09-26 23:00:13 +10:00
setup_32.c powerpc: Change CONFIG_E500 to CONFIG_PPC_E500 2022-09-26 23:00:13 +10:00
setup_64.c powerpc: Avoid nmi_enter/nmi_exit in real mode interrupt. 2024-04-15 12:55:48 +10:00
signal.c powerpc: Replace GPL 2.0+ README.legal boilerplate with SPDX 2023-09-19 20:05:58 +10:00
signal.h powerpc: Replace GPL 2.0+ README.legal boilerplate with SPDX 2023-09-19 20:05:58 +10:00
signal_32.c powerpc/signal32: Force inlining of __unsafe_save_user_regs() and save_tm_user_regs_unsafe() 2023-06-09 23:29:51 +10:00
signal_64.c
smp-tbsync.c
smp.c powerpc/kdump: Split KEXEC_CORE and CRASH_DUMP dependency 2024-03-17 13:34:00 +11:00
stacktrace.c powerpc/stacktrace: Fix arch_stack_walk_reliable() 2023-09-22 20:29:27 +10:00
static_call.c
suspend.c
switch.S powerpc: merge 32-bit and 64-bit _switch implementation 2023-06-15 14:03:55 +10:00
swsusp.c
swsusp_32.S powerpc/32: Fix objtool unannotated intra-function call warnings 2022-11-18 19:00:06 +11:00
swsusp_64.c powerpc/suspend: Add prototype for do_after_copyback() 2023-11-30 13:15:49 +11:00
swsusp_85xx.S powerpc: Remove CONFIG_FSL_BOOKE 2022-09-26 22:47:37 +10:00
swsusp_asm64.S powerpc/64: asm use consistent global variable declaration and access 2022-09-28 19:22:12 +10:00
sys_ppc32.c powerpc/32: fix syscall wrappers with 64-bit arguments 2022-11-01 10:24:09 +11:00
syscall.c powerpc: Use user_mode() macro when possible 2024-02-22 21:55:33 +11:00
syscalls.c powerpc: Adopt SYSCALL_DEFINE for arch-specific syscall handlers 2022-09-28 19:22:08 +10:00
sysfs.c powerpc/sysfs: move to use bus_get_dev_root() 2023-03-17 15:29:34 +01:00
systbl.c powerpc: Don't add __powerpc_ prefix to syscall entry points 2022-10-07 00:59:54 +11:00
tau_6xx.c powerpc, workqueue: Use alloc_ordered_workqueue() to create ordered workqueues 2023-05-08 13:52:27 -10:00
time.c powerpc: Make generic_calibrate_decr() the default 2023-03-16 08:56:48 +11:00
tm.S powerpc: replace #include <asm/export.h> with #include <linux/export.h> 2023-08-16 23:54:48 +10:00
traps.c powerpc: Use user_mode() macro when possible 2024-02-22 21:55:33 +11:00
ucall.S powerpc: replace #include <asm/export.h> with #include <linux/export.h> 2023-08-16 23:54:48 +10:00
udbg.c powerpc: Add support for early debugging via Serial 16550 console 2022-09-28 19:22:09 +10:00
udbg_16550.c powerpc: Remove orphaned reg_a2.h 2023-11-27 22:01:14 +11:00
uprobes.c
vdso.c mm: remove zap_page_range and create zap_vma_pages 2023-01-18 17:12:55 -08:00
vdso32_wrapper.S
vdso64_wrapper.S
vecemu.c
vector.S powerpc: Don't clobber f0/vs0 during fp|altivec register save 2023-11-28 23:04:43 +11:00
vmlinux.lds.S powerpc/ftrace: Ignore ftrace locations in exit text sections 2024-02-14 14:24:06 +11:00
watchdog.c nmi_backtrace: allow excluding an arbitrary CPU 2023-08-18 10:19:00 -07:00