From: "Jett.Zhou" <jtzhou@xxxxxxxxxxx> The slave address of i2c device should be got in the start of the msg tranaction, or it will dump wrong slave addr and make confusion. Change-Id: I9520c245e6bb0a9a1e478aa275841842b588d4cd Signed-off-by: Jett.Zhou <jtzhou@xxxxxxxxxxx> diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c index f4bbbcc..5893110 100644 --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c @@ -677,6 +677,7 @@ static inline void i2c_pxa_start_message(struct pxa_i2c *i2c) * Step 1: target slave address into IDBR */ writel(i2c_pxa_addr_byte(i2c->msg), _IDBR(i2c)); + i2c->req_slave_addr = i2c_pxa_addr_byte(i2c->msg); /* * Step 2: initiate the write. -- 1.7.5.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