On Tue, Sep 02, 2025 at 11:59:11AM -0600, Keith Busch wrote: > Hm, I think you're right. We are definitely seeing pciehp requeue itself > with the link/presence events that we want to be ignored, so we're > getting re-enumeration when we didn't expect it. I thought the > back-to-back resets that we're causing vfio to initiate was the problem, > but maybe not. I think the switch and/or end device we're using have > some unusual link timings that defeats the pciehp ignore logic. pci_bridge_secondary_bus_reset() calls pci_bridge_wait_for_secondary_bus() to await Link Up. So unless the link flaps afterwards, this should be fine. Another possibility is that the pciehp_device_replaced() check triggers, e.g. because the Endpoint's Device Serial Number or other data in Config Space changed after the second reset. Maybe you can instrument the code with a few printk()'s to see what's going on. Thanks, Lukas