Reported-by: Jeffrey (Sheng-Hui) Chu <jeffchu@xxxxxxxxxxxx> Signed-off-by: Tomoya MORINAGA <tomoya-linux@xxxxxxxxxxxxxxxxxx> --- drivers/i2c/busses/i2c-eg20t.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/busses/i2c-eg20t.c b/drivers/i2c/busses/i2c-eg20t.c index c5b9924..aa1705e 100644 --- a/drivers/i2c/busses/i2c-eg20t.c +++ b/drivers/i2c/busses/i2c-eg20t.c @@ -410,7 +410,7 @@ static s32 pch_i2c_writebytes(struct i2c_adapter *i2c_adap, } if (msgs->flags & I2C_M_TEN) { - addr_2_msb = ((addr & I2C_MSB_2B_MSK) >> 7); + addr_2_msb = ((addr & I2C_MSB_2B_MSK) >> 7) & 0x06; iowrite32(addr_2_msb | TEN_BIT_ADDR_MASK, p + PCH_I2CDR); if (first) pch_i2c_start(adap); @@ -515,7 +515,6 @@ static s32 pch_i2c_readbytes(struct i2c_adapter *i2c_adap, struct i2c_msg *msgs, if (msgs->flags & I2C_M_TEN) { addr_2_msb = (((addr & I2C_MSB_2B_MSK) >> 7) | (I2C_RD)); iowrite32(addr_2_msb | TEN_BIT_ADDR_MASK, p + PCH_I2CDR); - } else { /* 7 address bits + R/W bit */ addr = (((addr) << 1) | (I2C_RD)); -- 1.7.4.4 -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html