Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

be2net: use pci_vfs_assigned()/pci_num_vf() instead of be_find_vfs()

be_find_vfs() is no longer needed as the common PCI calls provide the same
functionality.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Sathya Perla and committed by
David S. Miller
257a3feb c2ff682a

+4 -27
+4 -27
drivers/net/ethernet/emulex/benet/be_main.c
··· 1262 1262 return status; 1263 1263 } 1264 1264 1265 - static int be_find_vfs(struct be_adapter *adapter, int vf_state) 1266 - { 1267 - struct pci_dev *dev, *pdev = adapter->pdev; 1268 - int vfs = 0, assigned_vfs = 0, pos; 1269 - u16 offset, stride; 1270 - 1271 - pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_SRIOV); 1272 - if (!pos) 1273 - return 0; 1274 - pci_read_config_word(pdev, pos + PCI_SRIOV_VF_OFFSET, &offset); 1275 - pci_read_config_word(pdev, pos + PCI_SRIOV_VF_STRIDE, &stride); 1276 - 1277 - dev = pci_get_device(pdev->vendor, PCI_ANY_ID, NULL); 1278 - while (dev) { 1279 - if (dev->is_virtfn && pci_physfn(dev) == pdev) { 1280 - vfs++; 1281 - if (dev->dev_flags & PCI_DEV_FLAGS_ASSIGNED) 1282 - assigned_vfs++; 1283 - } 1284 - dev = pci_get_device(pdev->vendor, PCI_ANY_ID, dev); 1285 - } 1286 - return (vf_state == ASSIGNED) ? assigned_vfs : vfs; 1287 - } 1288 - 1289 1265 static void be_eqd_update(struct be_adapter *adapter, struct be_eq_obj *eqo) 1290 1266 { 1291 1267 struct be_rx_stats *stats = rx_stats(&adapter->rx_obj[eqo->idx]); ··· 2773 2797 struct be_vf_cfg *vf_cfg; 2774 2798 u32 vf; 2775 2799 2776 - if (be_find_vfs(adapter, ASSIGNED)) { 2800 + if (pci_vfs_assigned(adapter->pdev)) { 2777 2801 dev_warn(&adapter->pdev->dev, 2778 2802 "VFs are assigned to VMs: not disabling VFs\n"); 2779 2803 goto done; ··· 2875 2899 int status, old_vfs, vf; 2876 2900 struct device *dev = &adapter->pdev->dev; 2877 2901 2878 - old_vfs = be_find_vfs(adapter, ENABLED); 2902 + old_vfs = pci_num_vf(adapter->pdev); 2879 2903 if (old_vfs) { 2880 2904 dev_info(dev, "%d VFs are already enabled\n", old_vfs); 2881 2905 if (old_vfs != num_vfs) ··· 4176 4200 schedule_delayed_work(&adapter->work, msecs_to_jiffies(1000)); 4177 4201 } 4178 4202 4203 + /* If any VFs are already enabled don't FLR the PF */ 4179 4204 static bool be_reset_required(struct be_adapter *adapter) 4180 4205 { 4181 - return be_find_vfs(adapter, ENABLED) > 0 ? false : true; 4206 + return pci_num_vf(adapter->pdev) ? false : true; 4182 4207 } 4183 4208 4184 4209 static char *mc_name(struct be_adapter *adapter)