From: Emil Tantilov Date: Fri, 4 Nov 2011 06:43:23 +0000 (+0000) Subject: ixgbe: add write flush in ixgbe_clock_out_i2c_byte() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=176f950d310c81b7fafd96aabe53704f778ce269;p=linux-beck.git ixgbe: add write flush in ixgbe_clock_out_i2c_byte() I2C access is timing critical. Always do a write flush after writing to the I2CCTL register. Signed-off-by: Emil Tantilov Tested-by: Phil Schmitt Signed-off-by: Jeff Kirsher --- diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c index 8b113e3f16f5..7cf1e1f56c69 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c @@ -1457,6 +1457,7 @@ static s32 ixgbe_clock_out_i2c_byte(struct ixgbe_hw *hw, u8 data) i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL); i2cctl |= IXGBE_I2C_DATA_OUT; IXGBE_WRITE_REG(hw, IXGBE_I2CCTL, i2cctl); + IXGBE_WRITE_FLUSH(hw); return status; }