PCI: Call pcie_flr() from reset_intel_82599_sfp_virtfn()
authorChristoph Hellwig <hch@lst.de>
Fri, 14 Apr 2017 19:11:26 +0000 (21:11 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 20 Apr 2017 13:53:52 +0000 (08:53 -0500)
The 82599 quirk contained an outdated copy of the FLR code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/quirks.c

index 823271b13d1238aa95924e7b15acf646f5e3616f..fd5ec86816aa7690b19670436a60bd9eb7edc434 100644 (file)
@@ -3641,19 +3641,11 @@ static int reset_intel_82599_sfp_virtfn(struct pci_dev *dev, int probe)
         *
         * The 82599 supports FLR on VFs, but FLR support is reported only
         * in the PF DEVCAP (sec 9.3.10.4), not in the VF DEVCAP (sec 9.5).
-        * Therefore, we can't use pcie_flr(), which checks the VF DEVCAP.
+        * Thus we must call pcie_flr() directly without first checking if it is
+        * supported.
         */
-
-       if (probe)
-               return 0;
-
-       if (!pci_wait_for_pending_transaction(dev))
-               dev_err(&dev->dev, "transaction is not cleared; proceeding with reset anyway\n");
-
-       pcie_capability_set_word(dev, PCI_EXP_DEVCTL, PCI_EXP_DEVCTL_BCR_FLR);
-
-       msleep(100);
-
+       if (!probe)
+               pcie_flr(dev);
        return 0;
 }