nfp: stop limiting VFs to 0
Before8d85a7a4f2
("PCI/IOV: Allow PF drivers to limit total_VFs to 0"), pci_sriov_set_totalvfs(pdev, 0) meant "we can enable TotalVFs virtual functions". After8d85a7a4f2
, it means "we can't enable *any* VFs". That broke this scenario where nfp intends to remove any limit on the number of VFs that can be enabled: nfp_pci_probe nfp_pcie_sriov_read_nfd_limit nfp_rtsym_read_le("nfd_vf_cfg_max_vfs", &err) pci_sriov_set_totalvfs(pf->pdev, 0) # if FW didn't expose a limit ... # userspace writes N to sysfs "sriov_numvfs": sriov_numvfs_store pci_sriov_get_totalvfs # now returns 0 return -ERANGE Prior to8d85a7a4f2
, pci_sriov_get_totalvfs() returned TotalVFs, but it now returns 0. Remove the pci_sriov_set_totalvfs(pdev, 0) calls so we don't limit the number of VFs that can be enabled. Fixes:8d85a7a4f2
("PCI/IOV: Allow PF drivers to limit total_VFs to 0") Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> [bhelgaas: changelog] Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
38972375ef
commit
83235822b8
@ -240,7 +240,6 @@ static int nfp_pcie_sriov_read_nfd_limit(struct nfp_pf *pf)
|
||||
return pci_sriov_set_totalvfs(pf->pdev, pf->limit_vfs);
|
||||
|
||||
pf->limit_vfs = ~0;
|
||||
pci_sriov_set_totalvfs(pf->pdev, 0); /* 0 is unset */
|
||||
/* Allow any setting for backwards compatibility if symbol not found */
|
||||
if (err == -ENOENT)
|
||||
return 0;
|
||||
@ -668,7 +667,7 @@ static int nfp_pci_probe(struct pci_dev *pdev,
|
||||
|
||||
err = nfp_net_pci_probe(pf);
|
||||
if (err)
|
||||
goto err_sriov_unlimit;
|
||||
goto err_fw_unload;
|
||||
|
||||
err = nfp_hwmon_register(pf);
|
||||
if (err) {
|
||||
@ -680,8 +679,6 @@ static int nfp_pci_probe(struct pci_dev *pdev,
|
||||
|
||||
err_net_remove:
|
||||
nfp_net_pci_remove(pf);
|
||||
err_sriov_unlimit:
|
||||
pci_sriov_set_totalvfs(pf->pdev, 0);
|
||||
err_fw_unload:
|
||||
kfree(pf->rtbl);
|
||||
nfp_mip_close(pf->mip);
|
||||
@ -715,7 +712,6 @@ static void nfp_pci_remove(struct pci_dev *pdev)
|
||||
nfp_hwmon_unregister(pf);
|
||||
|
||||
nfp_pcie_sriov_disable(pdev);
|
||||
pci_sriov_set_totalvfs(pf->pdev, 0);
|
||||
|
||||
nfp_net_pci_remove(pf);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user