Re: [PATCH 1/3] i2c: qcom-geni: Use the correct return value

Bjorn Andersson
2022-07-18T22:28:49Z

On Mon 18 Jul 00:36 CDT 2022, Vinod Koul wrote:

> On 16-07-22, 20:50, Bjorn Andersson wrote:
> > The introduction of GPI support moved things around and instead of
> > returning the result from geni_i2c_xfer() the number of messages in the
> > request was returned, ignoring the actual result. Fix this.
>
> Thanks for the fix, looking at master_xfer() it does expect error
> return, so look good with one nit:
>
> >
> > Fixes: d8703554f4de ("i2c: qcom-geni: Add support for GPI DMA")
> > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> > ---
> > drivers/i2c/busses/i2c-qcom-geni.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c
> > index 6ac402ea58fb..3bec7c782824 100644
> > --- a/drivers/i2c/busses/i2c-qcom-geni.c
> > +++ b/drivers/i2c/busses/i2c-qcom-geni.c
> > @@ -688,7 +688,7 @@ static int geni_i2c_xfer(struct i2c_adapter *adap,
> > pm_runtime_put_autosuspend(gi2c->se.dev);
> > gi2c->cur = NULL;
> > gi2c->err = 0;
>
> Unrelated, should gi2c->err be set to ret here..?
>

When we reach this point we have concluded the current transfer
(successfully or not...), so I believe that the purpose of this line is
to clear the "error state" that might have occurred during that transfer.

I believe this line could be removed, as the first step in a transfer is
to clear the error state again. But as you suggest this is separate to
the proposed change.

May I have a R-b?

Regards,
Bjorn

> > - return num;
> > + return ret;
> > }
> >
> > static u32 geni_i2c_func(struct i2c_adapter *adap)
> > --
> > 2.35.1
>
> --
> ~Vinod