[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171017114910.GA684@ulmo>
Date: Tue, 17 Oct 2017 13:49:10 +0200
From: Thierry Reding <thierry.reding@...il.com>
To: Philipp Zabel <p.zabel@...gutronix.de>
Cc: Timo Alho <talho@...dia.com>, linux-tegra@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/4] reset: tegra: check BPMP response return code
On Tue, Oct 17, 2017 at 12:52:17PM +0200, Philipp Zabel wrote:
> Hi Thierry,
>
> On Tue, 2017-10-17 at 12:40 +0200, Thierry Reding wrote:
> > On Thu, Sep 07, 2017 at 12:31:03PM +0300, Timo Alho wrote:
> > > Add checks for return code in BPMP response message.
> > >
> > > Signed-off-by: Timo Alho <talho@...dia.com>
> > > ---
> > > drivers/reset/tegra/reset-bpmp.c | 9 ++++++++-
> > > 1 file changed, 8 insertions(+), 1 deletion(-)
> >
> > Hi Philipp,
> >
> > Would you provide an Acked-by on this so that I can take it into the
> > Tegra tree? There's a build dependency on patch 1/4 in the series.
>
> Acked-by: Philipp Zabel <p.zabel@...gutronix.de>
>
> to take this via the Tegra tree.
Thanks!
> > Quoting in full since you were not previously on Cc, unfortunately.
> >
> > Timo, please remember to always Cc the relevant maintainers.
> >
> > Thierry
> >
> > > diff --git a/drivers/reset/tegra/reset-bpmp.c b/drivers/reset/tegra/reset-bpmp.c
> > > index 5daf2ee..fac2db6 100644
> > > --- a/drivers/reset/tegra/reset-bpmp.c
> > > +++ b/drivers/reset/tegra/reset-bpmp.c
> > > @@ -23,6 +23,7 @@ static int tegra_bpmp_reset_common(struct reset_controller_dev *rstc,
> > > struct tegra_bpmp *bpmp = to_tegra_bpmp(rstc);
> > > struct mrq_reset_request request;
> > > struct tegra_bpmp_message msg;
> > > + int err;
> > >
> > > memset(&request, 0, sizeof(request));
> > > request.cmd = command;
> > > @@ -33,7 +34,13 @@ static int tegra_bpmp_reset_common(struct reset_controller_dev *rstc,
> > > msg.tx.data = &request;
> > > msg.tx.size = sizeof(request);
> > >
> > > - return tegra_bpmp_transfer(bpmp, &msg);
> > > + err = tegra_bpmp_transfer(bpmp, &msg);
> > > + if (err < 0)
> > > + return err;
> > > + else if (msg.rx.ret < 0)
> > > + return -EINVAL;
>
> I don't really understand why you complicate the call sites like this
> instead of just letting tegra_bmp_transfer return -EINVAL if msg.rx.ret
> < 0, but I haven't seen the other patches.
Timo replied to a similar question from Jon here:
https://patchwork.ozlabs.org/patch/810934/
Essentially this boils down to that there are cases where we may want to
know the exact error because it is relevant. In this case, we don't, but
BPMP provides a number of other services where the errors may be useful.
Thierry
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists