Re: [PATCH] reset: tegra-bpmp: Restore Handle errors in BPMP response

From: Philipp Zabel
Date: Mon Apr 04 2022 - 06:17:53 EST


On Mi, 2022-01-12 at 19:26 +0530, Sameer Pujar wrote:
> This reverts following commit 69125b4b9440 ("reset: tegra-bpmp:
> Revert
> Handle errors in BPMP response").
>
> The Tegra194 HDA reset failure is fixed by commit d278dc9151a0
> ("ALSA:
> hda/tegra: Fix Tegra194 HDA reset failure"). The temporary revert of
> original commit c045ceb5a145 ("reset: tegra-bpmp: Handle errors in
> BPMP
> response") can be removed now.
>
> Signed-off-by: Sameer Pujar <spujar@xxxxxxxxxx>
> ---
>  drivers/reset/tegra/reset-bpmp.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/reset/tegra/reset-bpmp.c
> b/drivers/reset/tegra/reset-bpmp.c
> index 24d3395..4c5bba5 100644
> --- a/drivers/reset/tegra/reset-bpmp.c
> +++ b/drivers/reset/tegra/reset-bpmp.c
> @@ -20,6 +20,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;
> @@ -30,7 +31,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)
> +               return err;
> +       if (msg.rx.ret)
> +               return -EINVAL;
> +
> +       return 0;
>  }
>  
>  static int tegra_bpmp_reset_module(struct reset_controller_dev
> *rstc,

Thank you, applied to reset/fixes.

regards
Philipp