diff options
author | Mark Brown <broonie@kernel.org> | 2015-07-01 23:51:43 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-07-14 11:23:08 +0100 |
commit | fa3eec7791b0fe27e3112804a71ba445ff336a6b (patch) | |
tree | 770834b4226186039a7227e71ccd877b8dd7c82a /drivers/base/regmap | |
parent | 04dc91ce2cca5927159c689aa1f47663f8c51530 (diff) | |
download | op-kernel-dev-fa3eec7791b0fe27e3112804a71ba445ff336a6b.zip op-kernel-dev-fa3eec7791b0fe27e3112804a71ba445ff336a6b.tar.gz |
regmap: Silence warning on invalid zero length read
Zero length reads make no sense in a regmap context and are likely to
trigger bugs further down the stack so insert an error check, also
silencing compiler warnings about use of ret in cases where we iterate
per register.
Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/base/regmap')
-rw-r--r-- | drivers/base/regmap/regmap.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index 8894b99..9c1f856 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c @@ -2180,6 +2180,8 @@ int regmap_raw_read(struct regmap *map, unsigned int reg, void *val, return -EINVAL; if (reg % map->reg_stride) return -EINVAL; + if (val_count == 0) + return -EINVAL; map->lock(map->lock_arg); |