summaryrefslogtreecommitdiff
path: root/drivers/i2c
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2018-11-05 16:57:34 +0800
committerJason Liu <jason.hui.liu@nxp.com>2019-02-12 10:35:01 +0800
commit0ce331ed4a1dbbe8c1be4ee69e0f4d8f46c8fc53 (patch)
treee3bbcb3fece9f35d5755c10765759d70ee70b9ed /drivers/i2c
parenteace6fe3f3567231e2e4c085b6666def278e3a5c (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.c6
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,