ixgbe: Use pci_vfs_assigned instead of ixgbe_vfs_are_assigned
authorAlexander Duyck <alexander.h.duyck@intel.com>
Tue, 26 Mar 2013 00:03:21 +0000 (00:03 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 31 Jul 2013 00:13:11 +0000 (17:13 -0700)
This change makes it so that the ixgbe driver uses the generic helper
pci_vfs_assigned instead of the ixgbe specific function
ixgbe_vfs_are_assigned.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Stephen Ko <stephen.s.ko@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c

index 6c624c9d4c0fcb77ccfbfae7d5ba3f9ae38dfe4d..73c8e73bb6e74754b36e2637c07ada9510e1fe4c 100644 (file)
@@ -173,39 +173,6 @@ void ixgbe_enable_sriov(struct ixgbe_adapter *adapter)
        ixgbe_disable_sriov(adapter);
 }
 
-static bool ixgbe_vfs_are_assigned(struct ixgbe_adapter *adapter)
-{
-       struct pci_dev *pdev = adapter->pdev;
-       struct pci_dev *vfdev;
-       int dev_id;
-
-       switch (adapter->hw.mac.type) {
-       case ixgbe_mac_82599EB:
-               dev_id = IXGBE_DEV_ID_82599_VF;
-               break;
-       case ixgbe_mac_X540:
-               dev_id = IXGBE_DEV_ID_X540_VF;
-               break;
-       default:
-               return false;
-       }
-
-       /* loop through all the VFs to see if we own any that are assigned */
-       vfdev = pci_get_device(PCI_VENDOR_ID_INTEL, dev_id, NULL);
-       while (vfdev) {
-               /* if we don't own it we don't care */
-               if (vfdev->is_virtfn && vfdev->physfn == pdev) {
-                       /* if it is assigned we cannot release it */
-                       if (vfdev->dev_flags & PCI_DEV_FLAGS_ASSIGNED)
-                               return true;
-               }
-
-               vfdev = pci_get_device(PCI_VENDOR_ID_INTEL, dev_id, vfdev);
-       }
-
-       return false;
-}
-
 #endif /* #ifdef CONFIG_PCI_IOV */
 int ixgbe_disable_sriov(struct ixgbe_adapter *adapter)
 {
@@ -235,7 +202,7 @@ int ixgbe_disable_sriov(struct ixgbe_adapter *adapter)
         * without causing issues, so just leave the hardware
         * available but disabled
         */
-       if (ixgbe_vfs_are_assigned(adapter)) {
+       if (pci_vfs_assigned(adapter->pdev)) {
                e_dev_warn("Unloading driver while VFs are assigned - VFs will not be deallocated\n");
                return -EPERM;
        }