From: Don Skidmore Date: Thu, 16 Jan 2014 10:30:10 +0000 (-0800) Subject: ixgbe: Fix incorrect logic for fixed fiber eeprom write X-Git-Tag: v4.0~2533^2~143^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d3cec927ef9f5783b5658e27401425fda4a2d4d9;p=platform%2Fkernel%2Flinux-amlogic.git ixgbe: Fix incorrect logic for fixed fiber eeprom write In this code we wanted to set the bit in IXGBE_SFF_SOFT_RS_SELECT_MASK to the value in rs. So we really needed a logical or rather than an and, this patch makes that change. Signed-off-by: Don Skidmore Tested-by: Phil Schmitt Signed-off-by: Aaron Brown Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c index 007a008..edda681 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c @@ -626,7 +626,7 @@ static void ixgbe_set_fiber_fixed_speed(struct ixgbe_hw *hw, goto out; } - eeprom_data = (eeprom_data & ~IXGBE_SFF_SOFT_RS_SELECT_MASK) & rs; + eeprom_data = (eeprom_data & ~IXGBE_SFF_SOFT_RS_SELECT_MASK) | rs; status = hw->phy.ops.write_i2c_byte(hw, IXGBE_SFF_SFF_8472_OSCB, IXGBE_I2C_EEPROM_DEV_ADDR2,