diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2018-02-08 08:25:28 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-02-08 16:36:35 +0100 |
commit | 86effbe0d198aaf57459ec9ad3855e88e29ecb1c (patch) | |
tree | 384c256c3436e04e9b3a9dc38063a25a10b2846c /drivers/base | |
parent | Merge remote-tracking branches 'regmap/topic/soundwire' and 'regmap/topic/zer... (diff) | |
download | linux-86effbe0d198aaf57459ec9ad3855e88e29ecb1c.tar.xz linux-86effbe0d198aaf57459ec9ad3855e88e29ecb1c.zip |
regmap-i2c: Off by one in regmap_i2c_smbus_i2c_read/write()
The commit message says that we are allowed to read and write up to 32
bytes but the code only allows us to write 31 bytes. In other words,
the ">=" should be changed to ">". But this is already checked in
regmap_raw_read()/write() so we can just remove the if statemetents.
Fixes: 29332534e2b6 ("regmap-i2c: Add smbus i2c block support")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/regmap/regmap-i2c.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/base/regmap/regmap-i2c.c b/drivers/base/regmap/regmap-i2c.c index 4735318f4268..056acde5e7d3 100644 --- a/drivers/base/regmap/regmap-i2c.c +++ b/drivers/base/regmap/regmap-i2c.c @@ -217,8 +217,6 @@ static int regmap_i2c_smbus_i2c_write(void *context, const void *data, if (count < 1) return -EINVAL; - if (count >= I2C_SMBUS_BLOCK_MAX) - return -E2BIG; --count; return i2c_smbus_write_i2c_block_data(i2c, ((u8 *)data)[0], count, @@ -235,8 +233,6 @@ static int regmap_i2c_smbus_i2c_read(void *context, const void *reg, if (reg_size != 1 || val_size < 1) return -EINVAL; - if (val_size >= I2C_SMBUS_BLOCK_MAX) - return -E2BIG; ret = i2c_smbus_read_i2c_block_data(i2c, ((u8 *)reg)[0], val_size, val); if (ret == val_size) |