Ensure userspace can see the updated number of VFs
via sysfs sriov_numvfs before those VFs are probed.

Suggested-by: Leon Romanovsky <leo...@nvidia.com>
Signed-off-by: Jim Harris <jim.har...@samsung.com>
---
 drivers/pci/iov.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
index 0ca20cd518d5..ebb7c6892ad6 100644
--- a/drivers/pci/iov.c
+++ b/drivers/pci/iov.c
@@ -673,12 +673,14 @@ static int sriov_enable(struct pci_dev *dev, int 
nr_virtfn)
        msleep(100);
        pci_cfg_access_unlock(dev);
 
+       iov->num_VFs = nr_virtfn;
        rc = sriov_add_vfs(dev, initial);
-       if (rc)
+       if (rc) {
+               iov->num_VFs = 0;
                goto err_pcibios;
+       }
 
        kobject_uevent(&dev->dev.kobj, KOBJ_CHANGE);
-       iov->num_VFs = nr_virtfn;
 
        return 0;
 

Reply via email to