PCI/IOV: Clarify error message for unbound devices
authorMoritz Fischer <mdf@kernel.org>
Sat, 27 Mar 2021 17:51:40 +0000 (10:51 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 10 Jun 2021 20:25:38 +0000 (15:25 -0500)
Be more verbose to disambiguate the error case when trying to configure
SR-IOV with no driver bound vs. a driver that does not implement the
.sriov_configure() callback.

Link: https://lore.kernel.org/r/20210327175140.682708-1-mdf@kernel.org
Reported-by: Brian Foley <bpfoley@google.com>
Signed-off-by: Moritz Fischer <mdf@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Krzysztof WilczyƄski <kw@linux.com>
drivers/pci/iov.c

index afc06e6ce115fdce7b99e403833a1018f1c780b6..5e8278a6f3b2d16f2afd5c55eeabbf3da2ddcce1 100644 (file)
@@ -391,9 +391,16 @@ 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 SR-IOV\n");
+               ret = -ENOENT;
+               goto exit;
+       }
+
        /* is PF driver loaded w/callback */
-       if (!pdev->driver || !pdev->driver->sriov_configure) {
-               pci_info(pdev, "Driver does not support SRIOV configuration via sysfs\n");
+       if (!pdev->driver->sriov_configure) {
+               pci_info(pdev, "driver does not support SR-IOV configuration via sysfs\n");
                ret = -ENOENT;
                goto exit;
        }