diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2018-07-06 11:37:18 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-07-09 14:16:18 +0300 |
commit | 1aa1b918946537c089716bffd1399e30a2981cb7 (patch) | |
tree | ea264fedbe3475596fc68b8d2945e8f0f6207875 /drivers/regulator | |
parent | ed1ae2dd9f242c7a36e8e39100f6a7f6bcdfdd89 (diff) | |
download | linux-1aa1b918946537c089716bffd1399e30a2981cb7.tar.xz |
regulator: max8997: clean up a condition in max8997_list_voltage()
The current code generates a static cehcker warnings because "rid < 0"
is always false:
drivers/regulator/max8997-regulator.c:169 max8997_list_voltage()
warn: condition is always false
The problem is that because of type promotion, if "rid" is negative the
comparison against ARRAY_SIZE() is type promoted to size_t and it's
treated as a very high positive value. I've changed the order of the
checks so now everyone is happy.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/regulator')
-rw-r--r-- | drivers/regulator/max8997-regulator.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/regulator/max8997-regulator.c b/drivers/regulator/max8997-regulator.c index a8ea30ee18a6..029a6ee426ab 100644 --- a/drivers/regulator/max8997-regulator.c +++ b/drivers/regulator/max8997-regulator.c @@ -165,8 +165,7 @@ static int max8997_list_voltage(struct regulator_dev *rdev, int rid = rdev_get_id(rdev); int val; - if (rid >= ARRAY_SIZE(reg_voltage_map) || - rid < 0) + if (rid < 0 || rid >= ARRAY_SIZE(reg_voltage_map)) return -EINVAL; desc = reg_voltage_map[rid]; |