[PATCH] power: supply: mt6370: Fix missing error code in mt6370_chg_toggle_cfo()
AngeloGioacchino Del Regno
angelogioacchino.delregno at collabora.com
Thu Sep 7 03:43:12 PDT 2023
Il 06/09/23 10:48, Harshit Mogalapalli ha scritto:
> When mt6370_chg_field_get() suceeds, ret is set to zero and returning
> zero when flash led is still in strobe mode looks incorrect.
>
> Fixes: 233cb8a47d65 ("power: supply: mt6370: Add MediaTek MT6370 charger driver")
> Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli at oracle.com>
> ---
> This is based on static analysis with smatch, only compile tested.
> ---
> drivers/power/supply/mt6370-charger.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/power/supply/mt6370-charger.c b/drivers/power/supply/mt6370-charger.c
> index f27dae5043f5..a9641bd3d8cf 100644
> --- a/drivers/power/supply/mt6370-charger.c
> +++ b/drivers/power/supply/mt6370-charger.c
> @@ -324,7 +324,7 @@ static int mt6370_chg_toggle_cfo(struct mt6370_priv *priv)
>
> if (fl_strobe) {
> dev_err(priv->dev, "Flash led is still in strobe mode\n");
> - return ret;
> + return -EINVAL;
I think that returning 0 here was intentional, but I agree on a return ret
here being both confusing and wrong.
That's how I get this logic:
The function is enabling strobe mode, but if the flash led is *already* in
strobe mode, the function exits cleanly because there's nothing to do, as
the enablement is already done.
Hence.... I believe that the right fix is not to return -EINVAL, but rather
to change that to `return 0` instead.
ChiaEn, can you please confirm, or deny my statement?
Regards,
Angelo
> }
>
> /* cfo off */
More information about the Linux-mediatek
mailing list