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 2b4ceb5..c4f72cd 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;
 }