[PATCH v12 3/7] PCI: Fail FLR when config space is inaccessible

Farhan Ali posted 7 patches 1 day, 16 hours ago
[PATCH v12 3/7] PCI: Fail FLR when config space is inaccessible
Posted by Farhan Ali 1 day, 16 hours ago
If a device is in an error state, then it's config space may not be
accssible. Add additional check to validate if a device's config space is
accessible before doing an FLR reset.

Reviewed-by: Benjamin Block <bblock@linux.ibm.com>
Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Farhan Ali <alifm@linux.ibm.com>
---
 drivers/pci/pci.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index b36263834289..4795736193fb 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -4398,6 +4398,9 @@ int pcie_reset_flr(struct pci_dev *dev, bool probe)
 	if (!(dev->devcap & PCI_EXP_DEVCAP_FLR))
 		return -ENOTTY;
 
+	if (!pci_dev_config_accessible(dev, "FLR"))
+		return -ENOTTY;
+
 	if (probe)
 		return 0;
 
-- 
2.43.0