Linux PCI subsystem development
 help / color / mirror / Atom feed
* [PATCH V1] PCI: Clear errors logged in Secondary Status Register
@ 2024-01-04  1:32 Vidya Sagar
  2024-01-12 13:57 ` Vidya Sagar
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Vidya Sagar @ 2024-01-04  1:32 UTC (permalink / raw)
  To: bhelgaas
  Cc: linux-pci, linux-kernel, treding, jonathanh, kthota, mmaddireddy,
	vidyas, sagar.tv

If a downstream port has a PCIe switch connected to it, the enumeration
process leaves the 'Received Master Abort' bit set in the Secondary
Status Register of the downstream port because of the Unsupported
Requests (URs) take place in the downstream hierarchy. Since the
ownership of Secondary Status Register always lies with the OS including
systems with Firmware-First approach for error handling[1], clear the
error status bits in the Secondary Status Register post enumeration.

[1] https://lore.kernel.org/all/1fb9d746-0695-4d19-af98-f442f31cd464@nvidia.com/T/

Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
---
 drivers/pci/probe.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 43159965e09e..edf8202465d8 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -1470,6 +1470,9 @@ static int pci_scan_bridge_extend(struct pci_bus *bus, struct pci_dev *dev,
 	}
 
 out:
+	/* Clear errors in the Secondary Status Register */
+	pci_write_config_word(dev, PCI_SEC_STATUS, 0xffff);
+
 	pci_write_config_word(dev, PCI_BRIDGE_CONTROL, bctl);
 
 	pm_runtime_put(&dev->dev);
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-04-23 21:09 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-04  1:32 [PATCH V1] PCI: Clear errors logged in Secondary Status Register Vidya Sagar
2024-01-12 13:57 ` Vidya Sagar
2024-01-12 17:06 ` Bjorn Helgaas
2024-01-16 13:54   ` Vidya Sagar
2024-01-16 14:32 ` [PATCH V2] " Vidya Sagar
2024-01-22 23:00   ` Bjorn Helgaas
2024-03-14  0:39     ` Vidya Sagar
2024-04-01  7:59       ` Vidya Sagar
2024-04-18 10:52         ` Vidya Sagar
2024-04-23 21:09   ` Bjorn Helgaas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox