PCI: Clear Secondary Status errors after enumeration
authorVidya Sagar <vidyas@nvidia.com>
Tue, 16 Jan 2024 14:32:58 +0000 (20:02 +0530)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 23 Apr 2024 21:08:17 +0000 (16:08 -0500)
commit7bf9d2af7e89f65a79225e26d261b52ce4ee3e95
tree3b30a000340694c21e925985404165b840b22dc8
parent4cece764965020c22cff7665b18a012006359095
PCI: Clear Secondary Status errors after enumeration

We enumerate devices by attempting config reads to the Vendor ID of each
possible device.  On conventional PCI, if no device responds, the read
terminates with a Master Abort (PCI r3.0, sec 6.1).  On PCIe, the config
read is terminated as an Unsupported Request (PCIe r6.0, sec 2.3.2,
7.5.1.3.7).  In either case, if the read addressed a device below a bridge,
it is logged by setting "Received Master Abort" in the bridge Secondary
Status register.

Clear any errors logged in the Secondary Status register after enumeration.

Link: https://lore.kernel.org/r/20240116143258.483235-1-vidyas@nvidia.com
Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
[bhelgaas: simplify commit log]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/probe.c