powernv/pci: Print an error when device enable is blocked
authorOliver O'Halloran <oohall@gmail.com>
Thu, 9 Apr 2020 06:13:37 +0000 (16:13 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 3 Dec 2020 14:01:34 +0000 (01:01 +1100)
If the platform decides to block enabling the device nothing is printed
currently. This can lead to some confusion since the dmesg output will
usually print an error with no context e.g.

e1000e: probe of 0022:01:00.0 failed with error -22

This shouldn't be spammy since pci_enable_device() already prints a
messages when it succeeds.

Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200409061337.9187-1-oohall@gmail.com
arch/powerpc/platforms/powernv/pci-ioda.c

index 2b4ceb5e6ce4c95a16ad9210097241dfbbc095e9..c4f72cdc9b516cdb69a9bd8968a1f7ae65a9b296 100644 (file)
@@ -2613,8 +2613,10 @@ static bool pnv_pci_enable_device_hook(struct pci_dev *dev)
                return true;
 
        pdn = pci_get_pdn(dev);
-       if (!pdn || pdn->pe_number == IODA_INVALID_PE)
+       if (!pdn || pdn->pe_number == IODA_INVALID_PE) {
+               pci_err(dev, "pci_enable_device() blocked, no PE assigned.\n");
                return false;
+       }
 
        return true;
 }