PCI: Fail FLR when config space is inaccessible

If a device is in an error state, its config space may not be accssible.
Add additional check to validate if a device's config space is accessible
before doing an FLR reset.

Signed-off-by: Farhan Ali <alifm@linux.ibm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Benjamin Block <bblock@linux.ibm.com>
Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>
Link: https://patch.msgid.link/20260805165518.794-5-alifm@linux.ibm.com
This commit is contained in:
Farhan Ali 2026-08-05 09:55:17 -07:00 committed by Bjorn Helgaas
parent e18d1abc3b
commit ad05c16b29

View File

@ -4385,6 +4385,9 @@ int pcie_flr(struct pci_dev *dev)
{
int ret;
if (!pci_dev_config_accessible(dev, "FLR"))
return -ENOTTY;
if (!pci_wait_for_pending_transaction(dev))
pci_err(dev, "timed out waiting for pending transaction; performing function level reset anyway\n");