Re: [PATCH 3/4] reset: tegra: check BPMP response return code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
> > > ---
> > >  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@xxxxxxxxxxxxxx>
> 
> 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

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux