On Sat, May 04, 2024 at 12:56:30PM +0200, Nam Cao wrote: > On Sat, May 04, 2024 at 11:51:54AM +0200, Lukas Wunner wrote: > > Could you reproduce with pciehp instead of shpchp please? > > Same thing for pciehp below. I think the problem is because without > pci_stop_and_remove_bus_device(), no one cleans up the device added in > pci_scan_slot(). When another device get hot-added, pci_get_slot() wrongly > thinks another device is already there, so the hot-plug fails. pciehp powers down the slot because you're returning a negative errno from pciehp_configure_device(). Please return 0 instead if pci_hp_add_bridge() fails. Thanks, Lukas