]> git.baikalelectronics.ru Git - kernel.git/commit
nfp: stop limiting VFs to 0
authorJakub Kicinski <jakub.kicinski@netronome.com>
Fri, 29 Jun 2018 20:09:00 +0000 (15:09 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 29 Jun 2018 20:09:00 +0000 (15:09 -0500)
commit56b51d6c4ffd4711954da2d736a209d752210021
tree19b9db3e4ace53c54a0fbfea6c27dc9dc1248273
parent47f2323e3439ddc5c9118964022103fd6b2a18e6
nfp: stop limiting VFs to 0

Before b5b31eb7841b ("PCI/IOV: Allow PF drivers to limit total_VFs to 0"),
pci_sriov_set_totalvfs(pdev, 0) meant "we can enable TotalVFs virtual
functions".  After b5b31eb7841b, 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 to b5b31eb7841b, 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: b5b31eb7841b ("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>
drivers/net/ethernet/netronome/nfp/nfp_main.c