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@xxxxxxxxxx> Reviewed-by: Krzysztof Wilczyński <kw@xxxxxxxxx> Signed-off-by: Moritz Fischer <mdf@xxxxxxxxxx> --- 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