On Mon, Feb 24, 2025 at 11:44:58AM +0800, Feng Tang wrote: > @@ -255,8 +271,7 @@ static int get_port_device_capability(struct pci_dev *dev) > * Disable hot-plug interrupts in case they have been enabled > * by the BIOS and the hot-plug service driver is not loaded. > */ > - pcie_capability_clear_word(dev, PCI_EXP_SLTCTL, > - PCI_EXP_SLTCTL_CCIE | PCI_EXP_SLTCTL_HPIE); > + pcie_disable_hp_interrupts_early(dev); > } Moving the Slot Control code from pciehp to portdrv (as is done in patch 1 of this series) is hackish. It should be avoided if at all possible. As I've already said before... https://lore.kernel.org/all/Z6HYuBDP6uvE1Sf4@xxxxxxxxx/ ...it seems clearing those interrupts is only necessary in the CONFIG_HOTPLUG_PCI_PCIE=n case. And in that case, there is no second Slot Control write, so there is no delay to be observed. Hence the proper solution is to make the clearing of the interrupts conditional on: !IS_ENABLED(CONFIG_HOTPLUG_PCI_PCIE) You keep sending new versions of these patches that do not incorporate the feedback I provided in the above-linked e-mail. Please re-read that e-mail and verify if the solution that I proposed solves the problem. That solution does not require moving the Slot Control code from pciehp to portdrv. Thanks, Lukas