From 77466267eb3f937f432135f73efb25122e668cfc Mon Sep 17 00:00:00 2001 From: Bradley Bolen Date: Tue, 13 Dec 2016 12:49:53 -0500 Subject: [PATCH] i2c: mv_i2c.c: Correct address endianness 0c0f719ad2f46c8566a56daee37ebdb7c078c3b1 accidentally changed the endianness of the i2c read and write addresses. This was noticable when accessing EEPROMs that use 2 byte addressing as the LSB was being sent first. Signed-off-by: Bradley Bolen Reviewed-by: Stefan Roese --- drivers/i2c/mv_i2c.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/mv_i2c.c b/drivers/i2c/mv_i2c.c index 7f52fa2d85..c78027239f 100644 --- a/drivers/i2c/mv_i2c.c +++ b/drivers/i2c/mv_i2c.c @@ -270,7 +270,7 @@ static int __i2c_read(struct mv_i2c *base, uchar chip, u8 *addr, int alen, msg.condition = I2C_COND_NORMAL; msg.acknack = I2C_ACKNAK_WAITACK; msg.direction = I2C_WRITE; - msg.data = *(addr++); + msg.data = addr[alen]; if (i2c_transfer(base, &msg)) return -1; } @@ -341,7 +341,7 @@ static int __i2c_write(struct mv_i2c *base, uchar chip, u8 *addr, int alen, msg.condition = I2C_COND_NORMAL; msg.acknack = I2C_ACKNAK_WAITACK; msg.direction = I2C_WRITE; - msg.data = *(addr++); + msg.data = addr[alen]; if (i2c_transfer(base, &msg)) return -1; } -- 2.39.5