summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjorn Helgaas2015-03-25 09:23:42 +0100
committerBenjamin Herrenschmidt2015-03-31 04:02:35 +0200
commit68f8e9fa56ce6b5cb18323e8d8fa536fee0f89ca (patch)
treeb4cd2a2baf1b1053d1f49fcb668063aa04b8cd4a
parentpowerpc/eeh: Remove device_node dependency (diff)
downloadkernel-qcow2-linux-68f8e9fa56ce6b5cb18323e8d8fa536fee0f89ca.tar.gz
kernel-qcow2-linux-68f8e9fa56ce6b5cb18323e8d8fa536fee0f89ca.tar.xz
kernel-qcow2-linux-68f8e9fa56ce6b5cb18323e8d8fa536fee0f89ca.zip
PCI: Print more info in sriov_enable() error message
If we don't have space for all the bus numbers required to enable VFs, print the largest bus number required and the range available. No functional change; improved error message only. Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Wei Yang <weiyang@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r--drivers/pci/iov.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
index 4b3a4eaad996..c4c33ead03bc 100644
--- a/drivers/pci/iov.c
+++ b/drivers/pci/iov.c
@@ -180,6 +180,7 @@ static int sriov_enable(struct pci_dev *dev, int nr_virtfn)
struct pci_dev *pdev;
struct pci_sriov *iov = dev->sriov;
int bars = 0;
+ u8 bus;
if (!nr_virtfn)
return 0;
@@ -216,8 +217,10 @@ static int sriov_enable(struct pci_dev *dev, int nr_virtfn)
iov->offset = offset;
iov->stride = stride;
- if (virtfn_bus(dev, nr_virtfn - 1) > dev->bus->busn_res.end) {
- dev_err(&dev->dev, "SR-IOV: bus number out of range\n");
+ bus = virtfn_bus(dev, nr_virtfn - 1);
+ if (bus > dev->bus->busn_res.end) {
+ dev_err(&dev->dev, "can't enable %d VFs (bus %02x out of range of %pR)\n",
+ nr_virtfn, bus, &dev->bus->busn_res);
return -ENOMEM;
}