diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 5e14afc4aa19..a73d1a3a8939 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -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");