drivers/power/supply/mt6370-charger.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
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@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;
}
/* cfo off */
--
2.39.3
On Wed, 06 Sep 2023 01:48:15 -0700, Harshit Mogalapalli wrote:
> When mt6370_chg_field_get() suceeds, ret is set to zero and returning
> zero when flash led is still in strobe mode looks incorrect.
>
>
Applied, thanks!
[1/1] power: supply: mt6370: Fix missing error code in mt6370_chg_toggle_cfo()
commit: 779873ec81306d2c40c459fa7c91a5d40655510d
Best regards,
--
Sebastian Reichel <sebastian.reichel@collabora.com>
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@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 */
On Thu, Sep 07, 2023 at 12:43:12PM +0200, AngeloGioacchino Del Regno wrote:
> 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@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.
If it's a success path then probably we should remove the dev_err().
regards,
dan carpenter
On Thu, Sep 07, 2023 at 02:08:17PM +0300, Dan Carpenter wrote:
[...]
> > > 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.
>
> If it's a success path then probably we should remove the dev_err().
>
Hi all,
Sorry for the late reply!
I agree with the first half of Angelo's statement, I did make the
mistake on this 'return ret'.
What I was trying to say is that you should not to toggle cfo function
when the FLED of MT6370 is still in "strobe mode".
Therefore, I think the change of Harshit's patch is correct.
It should be 'return -EINVAL' or 'return -EPERM' here.
Thanks!
Reviewed-by: ChiaEn Wu <chiaen_wu@richtek.com>
Best regards,
ChiaEn Wu
Il 08/09/23 04:19, ChiaEn Wu ha scritto:
> On Thu, Sep 07, 2023 at 02:08:17PM +0300, Dan Carpenter wrote:
>
> [...]
>
>>>> 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.
>>
>> If it's a success path then probably we should remove the dev_err().
>>
>
> Hi all,
> Sorry for the late reply!
>
> I agree with the first half of Angelo's statement, I did make the
> mistake on this 'return ret'.
> What I was trying to say is that you should not to toggle cfo function
> when the FLED of MT6370 is still in "strobe mode".
>
> Therefore, I think the change of Harshit's patch is correct.
> It should be 'return -EINVAL' or 'return -EPERM' here.
>
> Thanks!
>
>
> Reviewed-by: ChiaEn Wu <chiaen_wu@richtek.com>
>
>
> Best regards,
> ChiaEn Wu
Cool. In that case:
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
© 2016 - 2026 Red Hat, Inc.