diff options
author | Magnus Damm <damm@igel.co.jp> | 2008-11-13 07:28:21 +0100 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-11-13 07:37:07 +0100 |
commit | bff4056c8b868a4311d5ebd6cbbf09a2c10f4551 (patch) | |
tree | a6ee2db33682deb761aae97a98a5983116151bc7 /drivers/i2c/busses/i2c-sh_mobile.c | |
parent | sh: Provide a sane valid_phys_addr_range() to prevent TLB reset with PMB. (diff) | |
download | linux-bff4056c8b868a4311d5ebd6cbbf09a2c10f4551.tar.xz linux-bff4056c8b868a4311d5ebd6cbbf09a2c10f4551.zip |
i2c: fix i2c-sh_mobile rx underrun
Fix receive path underrun in i2c-sh_mobile driver.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers/i2c/busses/i2c-sh_mobile.c')
-rw-r--r-- | drivers/i2c/busses/i2c-sh_mobile.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-sh_mobile.c b/drivers/i2c/busses/i2c-sh_mobile.c index 640cbb237328..3384a717fec0 100644 --- a/drivers/i2c/busses/i2c-sh_mobile.c +++ b/drivers/i2c/busses/i2c-sh_mobile.c @@ -318,7 +318,8 @@ static int sh_mobile_i2c_isr_rx(struct sh_mobile_i2c_data *pd) } else data = i2c_op(pd, OP_RX, 0); - pd->msg->buf[real_pos] = data; + if (real_pos >= 0) + pd->msg->buf[real_pos] = data; } while (0); pd->pos++; |