On Thu, Jul 03, 2025 at 12:53:42PM +0100, Andrew Goodbody wrote: > 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 <andrew.goodb...@linaro.org> > --- > drivers/power/regulator/regulator-uclass.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/power/regulator/regulator-uclass.c > b/drivers/power/regulator/regulator-uclass.c > index 09567eb9dbb..fbd1f69ac72 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 && !error) > error = ret; > > if (list_devp) >
This leads to the testcase failing: https://source.denx.de/u-boot/u-boot/-/jobs/1234999#L272 which should be fixed in the same commit. -- Tom
signature.asc
Description: PGP signature