diff options
author | Peng Fan <peng.fan@nxp.com> | 2018-11-05 16:57:34 +0800 |
---|---|---|
committer | Jason Liu <jason.hui.liu@nxp.com> | 2019-02-12 10:35:01 +0800 |
commit | 0ce331ed4a1dbbe8c1be4ee69e0f4d8f46c8fc53 (patch) | |
tree | e3bbcb3fece9f35d5755c10765759d70ee70b9ed /drivers/i2c | |
parent | eace6fe3f3567231e2e4c085b6666def278e3a5c (diff) |
MLK-20196-1 i2c: xen-i2cback: fix num_msg usage
When req.num_msg is less than 2, also need initialze num_msg.
Also modify the if/else if to use num_msg
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Diffstat (limited to 'drivers/i2c')
-rw-r--r-- | drivers/i2c/busses/xen-i2cback.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/i2c/busses/xen-i2cback.c b/drivers/i2c/busses/xen-i2cback.c index fd5f832383b8..ccc67c7c421b 100644 --- a/drivers/i2c/busses/xen-i2cback.c +++ b/drivers/i2c/busses/xen-i2cback.c @@ -94,8 +94,10 @@ static bool i2cback_handle_int(struct i2cback_info *info) allow_access = i2cback_access_allowed(info, &req); if (allow_access) { /* Write/Read sequence */ - if (req.num_msg > I2CIF_MAX_MSG) + num_msg = req.num_msg; + if (num_msg > I2CIF_MAX_MSG) num_msg = I2CIF_MAX_MSG; + for (i = 0; i < num_msg; i++) { msg[i].addr = req.msg[i].addr; msg[i].len = req.msg[i].len; @@ -130,7 +132,7 @@ static bool i2cback_handle_int(struct i2cback_info *info) memcpy(tmp_buf, req.write_buf, I2CIF_BUF_LEN); ret = i2c_transfer(info->adapter, msg, num_msg); - } else if (req.num_msg == 1) { + } else if (num_msg == 1) { msg[0].buf = tmp_buf; if (!(msg[0].flags & I2C_M_RD)) memcpy(tmp_buf, req.write_buf, |