Re: [PATCH v3 0/6] PowerNV PCIe Hotplug Driver Fixes

Bjorn Helgaas
2025-07-17T23:27:54Z

On Tue, Jul 15, 2025 at 04:31:49PM -0500, Timothy Pearson wrote:
> Hello all,
>
> This series includes several fixes for bugs in the PowerNV PCIe hotplug
> driver that were discovered in testing with a Microsemi Switchtec PM8533
> PFX 48xG3 PCIe switch on a PowerNV system, as well as one workaround for
> PCIe switches that don't correctly implement slot presence detection
> such as the aforementioned one. Without the workaround, the switch works
> and downstream devices can be hot-unplugged, but the devices never come
> back online after being plugged in again until the system is rebooted.
> Other hotplug drivers (like pciehp_hpc) use a similar workaround.
>
> Also included are fixes for the EEH driver to make it hotplug safe,
> and a small patch to enable all three attention indicator states per
> the PCIe specification.
>
> Thanks,
>
> Shawn Anastasio (2):
> PCI: pnv_php: Properly clean up allocated IRQs on unplug
> PCI: pnv_php: Work around switches with broken presence detection
>
> Timothy Pearson (4):
> powerpc/eeh: Export eeh_unfreeze_pe()
> powerpc/eeh: Make EEH driver device hotplug safe
> PCI: pnv_php: Fix surprise plug detection and recovery
> PCI: pnv_php: Enable third attention indicator state
>
> arch/powerpc/kernel/eeh.c | 1 +
> arch/powerpc/kernel/eeh_driver.c | 48 ++++--
> arch/powerpc/kernel/eeh_pe.c | 10 +-
> arch/powerpc/kernel/pci-hotplug.c | 3 +
> drivers/pci/hotplug/pnv_php.c | 244 +++++++++++++++++++++++++++---
> 5 files changed, 263 insertions(+), 43 deletions(-)

I'm OK with this from a PCI perspective, and I optimistically put it
on pci/hotplug.

I'm happy to merge via the PCI tree, but would need acks from the
powerpc folks for the arch/powerpc parts.

Alternatively it could be merged via powerpc with my ack on the
drivers/pci patches:

Acked-by: Bjorn Helgaas <bhelgaas@google.com>

If you do merge via powerpc, I made some comment formatting and commit
log tweaks that I would like reflected in the drivers/pci part. These
are on
https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git/log/?h=hotplug

Bjorn