lkml.org 
[lkml]   [2021]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 229/243] firmware: turris-mox-rwtm: fix reply status decoding function
    Date
    From: Marek Behún <kabel@kernel.org>

    [ Upstream commit e34e60253d9272311831daed8a2d967cf80ca3dc ]

    The status decoding function mox_get_status() currently contains an
    incorrect check: if the error status is not MBOX_STS_SUCCESS, it always
    returns -EIO, so the comparison to MBOX_STS_FAIL is never executed and
    we don't get the actual error code sent by the firmware.

    Fix this.

    Signed-off-by: Marek Behún <kabel@kernel.org>
    Reviewed-by: Pali Rohár <pali@kernel.org>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Fixes: 389711b37493 ("firmware: Add Turris Mox rWTM firmware driver")
    Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/firmware/turris-mox-rwtm.c | 7 +++++--
    1 file changed, 5 insertions(+), 2 deletions(-)

    diff --git a/drivers/firmware/turris-mox-rwtm.c b/drivers/firmware/turris-mox-rwtm.c
    index 50bb2a6d6ccf..54b98642ee1b 100644
    --- a/drivers/firmware/turris-mox-rwtm.c
    +++ b/drivers/firmware/turris-mox-rwtm.c
    @@ -147,11 +147,14 @@ MOX_ATTR_RO(pubkey, "%s\n", pubkey);

    static int mox_get_status(enum mbox_cmd cmd, u32 retval)
    {
    - if (MBOX_STS_CMD(retval) != cmd ||
    - MBOX_STS_ERROR(retval) != MBOX_STS_SUCCESS)
    + if (MBOX_STS_CMD(retval) != cmd)
    return -EIO;
    else if (MBOX_STS_ERROR(retval) == MBOX_STS_FAIL)
    return -(int)MBOX_STS_VALUE(retval);
    + else if (MBOX_STS_ERROR(retval) == MBOX_STS_BADCMD)
    + return -ENOSYS;
    + else if (MBOX_STS_ERROR(retval) != MBOX_STS_SUCCESS)
    + return -EIO;
    else
    return MBOX_STS_VALUE(retval);
    }
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-19 19:41    [W:2.244 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site