Message ID | 20210327175140.682708-1-mdf@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Bjorn Helgaas |
Headers | show |
Series | [RESEND,v2] PCI/IOV: Clarify error message for unbound devices | expand |
On Sat, Mar 27, 2021 at 10:51:40AM -0700, Moritz Fischer wrote: > Be more verbose to disambiguate the error case when trying to configure > SRIOV with no driver bound vs. a driver that does not implement the > SRIOV callback. > > Reported-by: Brian Foley <bpfoley@google.com> > Reviewed-by: Krzysztof Wilczyński <kw@linux.com> > Signed-off-by: Moritz Fischer <mdf@kernel.org> Applied to pci/virtualization for v5.14, thanks! > --- > Changes from v1: > - Added Krzysztof's Reviewed-by > --- > drivers/pci/iov.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c > index 4afd4ee4f7f0..f9ecc691daf5 100644 > --- a/drivers/pci/iov.c > +++ b/drivers/pci/iov.c > @@ -304,8 +304,15 @@ static ssize_t sriov_numvfs_store(struct device *dev, > if (num_vfs == pdev->sriov->num_VFs) > goto exit; > > + /* is PF driver loaded */ > + if (!pdev->driver) { > + pci_info(pdev, "No driver bound to device. Cannot configure SRIOV\n"); > + ret = -ENOENT; > + goto exit; > + } > + > /* is PF driver loaded w/callback */ > - if (!pdev->driver || !pdev->driver->sriov_configure) { > + if (!pdev->driver->sriov_configure) { > pci_info(pdev, "Driver does not support SRIOV configuration via sysfs\n"); > ret = -ENOENT; > goto exit; > -- > 2.30.2 >
diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c index 4afd4ee4f7f0..f9ecc691daf5 100644 --- a/drivers/pci/iov.c +++ b/drivers/pci/iov.c @@ -304,8 +304,15 @@ static ssize_t sriov_numvfs_store(struct device *dev, if (num_vfs == pdev->sriov->num_VFs) goto exit; + /* is PF driver loaded */ + if (!pdev->driver) { + pci_info(pdev, "No driver bound to device. Cannot configure SRIOV\n"); + ret = -ENOENT; + goto exit; + } + /* is PF driver loaded w/callback */ - if (!pdev->driver || !pdev->driver->sriov_configure) { + if (!pdev->driver->sriov_configure) { pci_info(pdev, "Driver does not support SRIOV configuration via sysfs\n"); ret = -ENOENT; goto exit;