Re: [PATCH V3 4/5] PCI: Clear stale 14-Bit Tag Requester Enable when a link leaves Flit Mode

From: Lukas Wunner

Date: Sat Aug 15 2026 - 03:20:42 EST


On Sat, Aug 15, 2026 at 01:46:20AM +0530, Vidya Sagar wrote:
> @@ -4874,6 +4985,14 @@ int pci_bridge_wait_for_secondary_bus(struct pci_dev *dev, char *reset_type)
> pci_dbg(dev, "waiting %d ms for downstream link\n", delay);
> msleep(delay);
>
> + /*
> + * The link has had a chance to come back; refresh the
> + * bridge's (and subtree's) DEV3_CTL.14-Bit Tag Requester
> + * Enable against the live LNKSTA2.Flit_Mode before we issue
> + * the first config TLP to the child.
> + */
> + pci_bridge_refresh_14bit_tag(dev);
> +
> if (!pci_dev_wait(child, reset_type, PCI_RESET_WAIT - delay))
> return 0;

pci_bridge_wait_for_secondary_bus() should just do what it says,
i.e. wait. It shouldn't have side effects like mutating register
state.

I'm wondering if this is a quirk of the PCIe IP used on Nvidia's
arm64 CPUs, as I can't find a spec section that says software
needs to clean up 14 Bit Tag enablement when the link switches
from Flit Mode to Non-Flit Mode.

Thanks,

Lukas