PCI: Make FLR and AF FLR reset warning messages different
[cascardo/linux.git] / drivers / pci / pci.c
index 9a5871f..e8b3627 100644 (file)
@@ -3140,12 +3140,10 @@ static int pcie_flr(struct pci_dev *dev, int probe)
                return 0;
 
        if (!pci_wait_for_pending_transaction(dev))
-               dev_err(&dev->dev, "transaction is not cleared; proceeding with reset anyway\n");
+               dev_err(&dev->dev, "timed out waiting for pending transaction; performing function level reset anyway\n");
 
        pcie_capability_set_word(dev, PCI_EXP_DEVCTL, PCI_EXP_DEVCTL_BCR_FLR);
-
        msleep(100);
-
        return 0;
 }
 
@@ -3170,16 +3168,12 @@ static int pci_af_flr(struct pci_dev *dev, int probe)
         * is used, so we use the conrol offset rather than status and shift
         * the test bit to match.
         */
-       if (pci_wait_for_pending(dev, pos + PCI_AF_CTRL,
+       if (!pci_wait_for_pending(dev, pos + PCI_AF_CTRL,
                                 PCI_AF_STATUS_TP << 8))
-               goto clear;
+               dev_err(&dev->dev, "timed out waiting for pending transaction; performing AF function level reset anyway\n");
 
-       dev_err(&dev->dev, "transaction is not cleared; proceeding with reset anyway\n");
-
-clear:
        pci_write_config_byte(dev, pos + PCI_AF_CTRL, PCI_AF_CTRL_FLR);
        msleep(100);
-
        return 0;
 }