On Fri, May 23, 2025 at 09:02:38AM +0200, Niklas Cassel wrote: > I kind of liked the earlier revision of Mani's series where we kicked the > devices off the bus, that way, we would re-use the exact same code paths > as when doing the initial enumeration. > > Also, by removing the device, the exact same solution works fine both for > link-down (since the device might never come back again), and for a sysfs > initiated reset. PCI drivers such as NVMe are capable of recovering gracefully from reset. That's a very important feature for data center use cases. The PCIe hotplug driver goes to great lengths to avoid de-enumeration and re-enumeration and instead allow for recovery from reset (see e.g. the invocation of pci_dpc_recovered() and pciehp_ignore_dpc_link_change() in pciehp_ist()). So no, we do not want to remove devices in response to reset if we can help it. We generally only de-enumerate and re-enumerate devices on hotplug or if explicitly told to do so via sysfs "remove" / "rescan" attributes. Thanks, Lukas