OSDN Git Service

i40e: Cleanup i40e_vlan_rx_register
authorJacob Keller <jacob.e.keller@intel.com>
Thu, 8 Mar 2018 22:52:06 +0000 (14:52 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 14 Mar 2018 19:22:21 +0000 (12:22 -0700)
We used to use the function i40e_vlan_rx_register as a way to hook
into the now defunct .ndo_vlan_rx_register netdev hook. This was
removed but we kept the function around because we still used it
internally to control enabling or disabling of VLAN stripping.

As pointed out in upstream review, VLAN stripping is only used in a
single location and the previous function is quite small, just inline
it into i40e_restore_vlan() rather than carrying the function
separately.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_main.c

index be9a146..1469698 100644 (file)
@@ -2719,22 +2719,6 @@ void i40e_vlan_stripping_disable(struct i40e_vsi *vsi)
 }
 
 /**
- * i40e_vlan_rx_register - Setup or shutdown vlan offload
- * @netdev: network interface to be adjusted
- * @features: netdev features to test if VLAN offload is enabled or not
- **/
-static void i40e_vlan_rx_register(struct net_device *netdev, u32 features)
-{
-       struct i40e_netdev_priv *np = netdev_priv(netdev);
-       struct i40e_vsi *vsi = np->vsi;
-
-       if (features & NETIF_F_HW_VLAN_CTAG_RX)
-               i40e_vlan_stripping_enable(vsi);
-       else
-               i40e_vlan_stripping_disable(vsi);
-}
-
-/**
  * i40e_add_vlan_all_mac - Add a MAC/VLAN filter for each existing MAC address
  * @vsi: the vsi being configured
  * @vid: vlan id to be added (0 = untagged only , -1 = any)
@@ -2909,7 +2893,10 @@ static void i40e_restore_vlan(struct i40e_vsi *vsi)
        if (!vsi->netdev)
                return;
 
-       i40e_vlan_rx_register(vsi->netdev, vsi->netdev->features);
+       if (vsi->netdev->features & NETIF_F_HW_VLAN_CTAG_RX)
+               i40e_vlan_stripping_enable(vsi);
+       else
+               i40e_vlan_stripping_disable(vsi);
 
        for_each_set_bit(vid, vsi->active_vlans, VLAN_N_VID)
                i40e_vlan_rx_add_vid(vsi->netdev, htons(ETH_P_8021Q),