|
@@ -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;
|
|
|
}
|
|
|
|