lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.14 072/849] reset: tegra-bpmp: Handle errors in BPMP response
    Date
    From: Mikko Perttunen <mperttunen@nvidia.com>

    [ Upstream commit c045ceb5a145d2a9a4bf33cbc55185ddf99f60ab ]

    The return value from tegra_bpmp_transfer indicates the success or
    failure of the IPC transaction with BPMP. If the transaction
    succeeded, we also need to check the actual command's result code.
    Add code to do this.

    Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
    Link: https://lore.kernel.org/r/20210915085517.1669675-2-mperttunen@nvidia.com
    Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    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 24d3395964cc4..4c5bba52b1059 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,
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-15 22:43    [W:3.899 / U:0.428 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site