Browse Source

ixgbe: fix masking of bits read from IXGBE_VXLANCTRL register

In ixgbe_clear_udp_tunnel_port(), we read the IXGBE_VXLANCTRL register
and then try to mask some bits out of the value, using the logical
instead of bitwise and operator.

Fixes: a21d0822ff69 ("ixgbe: add support for geneve Rx offload")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Sabrina Dubroca 8 years ago
parent
commit
a39221ce96
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

+ 1 - 1
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

@@ -4881,7 +4881,7 @@ static void ixgbe_clear_udp_tunnel_port(struct ixgbe_adapter *adapter, u32 mask)
 				IXGBE_FLAG_GENEVE_OFFLOAD_CAPABLE)))
 				IXGBE_FLAG_GENEVE_OFFLOAD_CAPABLE)))
 		return;
 		return;
 
 
-	vxlanctrl = IXGBE_READ_REG(hw, IXGBE_VXLANCTRL) && ~mask;
+	vxlanctrl = IXGBE_READ_REG(hw, IXGBE_VXLANCTRL) & ~mask;
 	IXGBE_WRITE_REG(hw, IXGBE_VXLANCTRL, vxlanctrl);
 	IXGBE_WRITE_REG(hw, IXGBE_VXLANCTRL, vxlanctrl);
 
 
 	if (mask & IXGBE_VXLANCTRL_VXLAN_UDPPORT_MASK)
 	if (mask & IXGBE_VXLANCTRL_VXLAN_UDPPORT_MASK)