summaryrefslogtreecommitdiff
path: root/drivers/power
diff options
context:
space:
mode:
authorAndrew Goodbody <[email protected]>2025-09-01 16:00:46 +0100
committerPeng Fan <[email protected]>2025-09-25 00:04:02 +0800
commit6c98e6014b3a36933860d02cb757565ec2fc80a4 (patch)
treebc87b47d5b3dee9f0b6bb93ba8d6cca70dcc32e6 /drivers/power
parente482fdbbca935de32400054eb532de45b1cc01cb (diff)
power: regulator: Fix incorrect use of binary and
In regulator_list_autoset there is a test for ret being non-zero and error being zero but it uses the binary '&' instead of the logical '&&' which could well lead to unexpected results. Correct this to use the logical '&&' instead. This issue found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Peng Fan <[email protected]>
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/regulator/regulator-uclass.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/power/regulator/regulator-uclass.c b/drivers/power/regulator/regulator-uclass.c
index 2a59a1b79c2..94c52cf555b 100644
--- a/drivers/power/regulator/regulator-uclass.c
+++ b/drivers/power/regulator/regulator-uclass.c
@@ -389,7 +389,7 @@ int regulator_list_autoset(const char *list_platname[],
ret = regulator_autoset_by_name(list_platname[i], &dev);
if (ret != -EMEDIUMTYPE && verbose)
regulator_show(dev, ret);
- if (ret & !error)
+ if (ret && ret != -EALREADY && !error)
error = ret;
if (list_devp)