We assumed that when we probe number of enabled VFs will be at 0.
This doesn't have to be the case for example if previous driver left
SR-IOV enabled due to some VFs being assigned.  Read the number of VFs
enabled.  Fail probe if it's above current FWs limit.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
        if (err)
                goto err_fw_unload;
 
+       pf->num_vfs = pci_num_vf(pdev);
+       if (pf->num_vfs > pf->limit_vfs) {
+               dev_err(&pdev->dev,
+                       "Error: %d VFs already enabled, but loaded FW can only support %d\n",
+                       pf->num_vfs, pf->limit_vfs);
+               goto err_fw_unload;
+       }
+
        err = nfp_net_pci_probe(pf);
        if (err)
                goto err_sriov_unlimit;