Re: [PATCH 1/6] PCI: of: Avoid config reads for disabled bridge nodes
From: Manivannan Sadhasivam
Date: Thu Sep 10 2026 - 11:24:47 EST
On Tue, Sep 01, 2026 at 04:47:54PM +0800, Xilin Wu wrote:
> The TC9563 PCI power-control driver powers off external downstream ports
> whose device tree nodes have status = "disabled".
>
> On the Radxa Dragon Q8B, reading the Vendor ID from one of these
> powered-off port functions during PCI enumeration raises an Arm SError
> instead of returning an all-ones PCI error response. This prevents the
> board from completing boot.
>
> Commit 1a8c251cff20 ("PCI: move OF status = "disabled" detection to
> dev->match_driver") made disabled PCI functions remain discoverable so
> PCI fixups can still be applied, while suppressing driver binding later.
> Preserve that behavior for endpoint functions.
>
> For an unavailable node describing a PCI-to-PCI bridge, however, the
> node also represents a subordinate bus that must not be enumerated.
> Check the device tree node before reading the Vendor ID and return a PCI
> error response without accessing config space when such a bridge is
> disabled.
>
> Functions not described by device tree and disabled endpoint functions
> remain discoverable.
>
> Signed-off-by: Xilin Wu <sophon@xxxxxxxxx>
Does this patch help?
https://lore.kernel.org/linux-pci/20260819-ecam_blocker-v2-1-e7a8fdc1c5cb@xxxxxxxxxxxxxxxx/
- Mani
--
மணிவண்ணன் சதாசிவம்