Re: [PATCH V3 5/5] PCI: pciehp: Clear stale 14-Bit Tag Requester Enable on hot add
Lukas Wunner <[email protected]>
| Newsgroups | org.kernel.vger.linux-pci,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Sat, Aug 15, 2026 at 01:46:21AM +0530, Vidya Sagar wrote: > +++ b/drivers/pci/hotplug/pciehp_hpc.c > @@ -302,6 +302,14 @@ int pciehp_check_link_status(struct controller *ctrl) > if (ctrl->inband_presence_disabled) > pcie_wait_for_presence(pdev); > > + /* > + * The link is up, but a newly inserted card may have trained it in a > + * different mode than the card that was removed left it in. Drop a > + * now stale 14-Bit Tag Requester Enable on the Port before the first > + * config read below, which the Port issues as the requester. > + */ > + pci_bridge_refresh_14bit_tag(pdev); > + > found = pci_bus_check_dev(ctrl->pcie->port->subordinate, > PCI_DEVFN(0, 0)); pciehp_check_link_status() should only do what its name implies, i.e. return whether the link is up. It should not have side effects like mutating register state. I instead suggest clearing 10-Bit and 14-Bit enablement in pciehp_unconfigure_device(), i.e. on removal. Thanks, Lukas