linux/arch/powerpc/kernel
Timothy Pearson 1010b4c012 powerpc/eeh: Make EEH driver device hotplug safe
Multiple race conditions existed between the PCIe hotplug driver and the
EEH driver, leading to a variety of kernel oopses of the same general
nature:

<pcie device unplug>
<eeh driver trigger>
<hotplug removal trigger>
<pcie tree reconfiguration>
<eeh recovery next step>
<oops in EEH driver bus iteration loop>

A second class of oops is also seen when the underlying bus disappears
during device recovery.

Refactor the EEH module to be PCI rescan and remove safe.  Also clean
up a few minor formatting / readability issues.

Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/1334208367.1359861.1752615503144.JavaMail.zimbra@raptorengineeringinc.com
2025-07-26 13:09:10 +05:30
..
ptrace
syscalls
trace powerpc64/ftrace: fix clobbered r15 during livepatching 2025-04-29 11:03:07 +05:30
vdso powerpc/vdso: Fix build of VDSO32 with pcrel 2025-06-13 12:30:15 +05:30
.gitignore
85xx_entry_mapping.S
align.c
asm-offsets.c
audit.c
audit_32.h
btext.c
cacheinfo.c
cacheinfo.h
compat_audit.c
cpu_setup_6xx.S
cpu_setup_44x.S
cpu_setup_e500.S
cpu_setup_pa6t.S
cpu_setup_power.c
cpu_setup_ppc970.S
cpu_specs.h
cpu_specs_8xx.h
cpu_specs_44x.h
cpu_specs_47x.h
cpu_specs_85xx.h
cpu_specs_book3s_32.h
cpu_specs_book3s_64.h
cpu_specs_e500mc.h
cputable.c
crash_dump.c
dawr.c
dbell.c
dexcr.c
dma-iommu.c
dma-mask.c
dma-swiotlb.c
dt_cpu_ftrs.c
early_32.c
eeh.c powerpc/eeh: Export eeh_unfreeze_pe() 2025-07-26 13:07:52 +05:30
eeh_cache.c
eeh_driver.c powerpc/eeh: Make EEH driver device hotplug safe 2025-07-26 13:09:10 +05:30
eeh_event.c
eeh_pe.c powerpc/eeh: Make EEH driver device hotplug safe 2025-07-26 13:09:10 +05:30
eeh_sysfs.c
entry_32.S
epapr_hcalls.S
epapr_paravirt.c
exceptions-64e.S
exceptions-64s.S
fadump.c powerpc: fadump: use lock guard for mutex 2025-06-23 09:57:10 +05:30
firmware.c
fpu.S
head_8xx.S
head_32.h
head_44x.S
head_64.S
head_85xx.S
head_book3s_32.S
head_booke.h
hw_breakpoint.c
hw_breakpoint_constraints.c
idle.c
idle_6xx.S
idle_64e.S
idle_85xx.S
idle_book3s.S
ima_arch.c
interrupt.c powerpc: enable dynamic preemption 2025-04-16 22:30:22 +05:30
interrupt_64.S
io.c
iomap.c
iommu.c powerpc/iommu: Use str_disabled_enabled() helper 2025-05-15 10:05:06 +05:30
irq.c
irq_64.c
isa-bridge.c
jump_label.c
kdebugfs.c
kgdb.c
kprobes-ftrace.c
kprobes.c
kvm.c
kvm_emul.S
l2cr_6xx.S
legacy_serial.c
Makefile Kbuild updates for v6.16 2025-06-07 10:05:35 -07:00
mce.c
mce_power.c
misc.S
misc_32.S
misc_64.S
module.c
module_32.c
module_64.c powerpc64/ftrace: fix module loading without patchable function entries 2025-04-15 11:40:54 +05:30
msi.c
note.S
nvram_64.c
optprobes.c
optprobes_head.S
paca.c
pci-common.c
pci-hotplug.c
pci_32.c
pci_64.c
pci_dn.c
pci_of_scan.c
pmc.c
ppc_save_regs.S
proc_powerpc.c powerpc: Replace strcpy() with strscpy() in proc_ppc64_init() 2025-05-15 09:54:54 +05:30
process.c powerpc: Don't use --- in kernel logs 2025-04-29 11:41:38 +05:30
prom.c
prom_entry_64.S
prom_init.c
prom_init_check.sh
prom_parse.c
reloc_32.S
reloc_64.S
rethook.c
rtas-proc.c
rtas-rtc.c
rtas.c powerpc/pseries: Add a char driver for physical-attestation RTAS 2025-04-17 11:42:30 +05:30
rtas_entry.S
rtas_flash.c powerpc: rtas: use lock guard for mutex 2025-06-23 09:57:10 +05:30
rtas_pci.c
rtasd.c
secure_boot.c
security.c
secvar-ops.c
secvar-sysfs.c
setup-common.c
setup.h
setup_32.c
setup_64.c
signal.c
signal.h
signal_32.c
signal_64.c
smp-tbsync.c
smp.c
stacktrace.c
static_call.c
suspend.c
switch.S
swsusp.c
swsusp_32.S
swsusp_64.c
swsusp_85xx.S
swsusp_asm64.S
sys_ppc32.c
syscall.c
syscalls.c
sysfs.c
systbl.c
tau_6xx.c
time.c
tm.S
traps.c
ucall.S
udbg.c
udbg_16550.c
uprobes.c
vdso.c
vdso32_wrapper.S
vdso64_wrapper.S
vecemu.c
vector.S
vmlinux.lds.S
watchdog.c