ice: Correct setting VLAN pruning
authorBrett Creeley <brett.creeley@intel.com>
Thu, 27 Feb 2020 18:14:59 +0000 (10:14 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 10 Mar 2020 20:10:32 +0000 (13:10 -0700)
VLAN pruning is not always being set correctly due to a previous change
that set Tx antispoof off. ice_vsi_is_vlan_pruning_ena() currently checks
for both Tx antispoof and Rx pruning. The expectation for this function is
to only check Rx pruning so fix the check.

Fixes: cd6d6b83316a ("ice: Fix VF spoofchk")
Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_lib.c

index 9230abdb4ee86303ea2b9a543d667722162bcf45..1ee6a86f507d37d9d24728218489c419e5697757 100644 (file)
@@ -1877,20 +1877,14 @@ int ice_vsi_stop_xdp_tx_rings(struct ice_vsi *vsi)
  * ice_vsi_is_vlan_pruning_ena - check if VLAN pruning is enabled or not
  * @vsi: VSI to check whether or not VLAN pruning is enabled.
  *
- * returns true if Rx VLAN pruning and Tx VLAN anti-spoof is enabled and false
- * otherwise.
+ * returns true if Rx VLAN pruning is enabled and false otherwise.
  */
 bool ice_vsi_is_vlan_pruning_ena(struct ice_vsi *vsi)
 {
-       u8 rx_pruning = ICE_AQ_VSI_SW_FLAG_RX_VLAN_PRUNE_ENA;
-       u8 tx_pruning = ICE_AQ_VSI_SEC_TX_VLAN_PRUNE_ENA <<
-               ICE_AQ_VSI_SEC_TX_PRUNE_ENA_S;
-
        if (!vsi)
                return false;
 
-       return ((vsi->info.sw_flags2 & rx_pruning) &&
-               (vsi->info.sec_flags & tx_pruning));
+       return (vsi->info.sw_flags2 & ICE_AQ_VSI_SW_FLAG_RX_VLAN_PRUNE_ENA);
 }
 
 /**