lkml.org 
[lkml]   [2021]   [Apr]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 mvebu + mvebu/dt64 2/6] firmware: turris-mox-rwtm: report failures better
    Date
    From: Marek Behún <kabel@kernel.org>

    Report a notice level message if a command is not supported by the rWTM
    firmware.

    This should not be an error, merely a notice, because the firmware can
    be used on non-CZ.NIC boards that do not have manufacturing information
    burned.

    Signed-off-by: Marek Behún <kabel@kernel.org>
    Fixes: 389711b37493 ("firmware: Add Turris Mox rWTM firmware driver")
    ---
    drivers/firmware/turris-mox-rwtm.c | 18 ++++++++++++------
    1 file changed, 12 insertions(+), 6 deletions(-)

    diff --git a/drivers/firmware/turris-mox-rwtm.c b/drivers/firmware/turris-mox-rwtm.c
    index f85acdb3130c..d7e3489e4bf2 100644
    --- a/drivers/firmware/turris-mox-rwtm.c
    +++ b/drivers/firmware/turris-mox-rwtm.c
    @@ -204,11 +204,14 @@ static int mox_get_board_info(struct mox_rwtm *rwtm)
    return ret;

    ret = mox_get_status(MBOX_CMD_BOARD_INFO, reply->retval);
    - if (ret < 0 && ret != -ENODATA) {
    - return ret;
    - } else if (ret == -ENODATA) {
    + if (ret == -ENODATA) {
    dev_warn(rwtm->dev,
    "Board does not have manufacturing information burned!\n");
    + } else if (ret == -ENOSYS) {
    + dev_notice(rwtm->dev,
    + "Firmware does not support the BOARD_INFO command\n");
    + } else if (ret < 0) {
    + return ret;
    } else {
    rwtm->serial_number = reply->status[1];
    rwtm->serial_number <<= 32;
    @@ -237,10 +240,13 @@ static int mox_get_board_info(struct mox_rwtm *rwtm)
    return ret;

    ret = mox_get_status(MBOX_CMD_ECDSA_PUB_KEY, reply->retval);
    - if (ret < 0 && ret != -ENODATA) {
    - return ret;
    - } else if (ret == -ENODATA) {
    + if (ret == -ENODATA) {
    dev_warn(rwtm->dev, "Board has no public key burned!\n");
    + } else if (ret == -ENOSYS) {
    + dev_notice(rwtm->dev,
    + "Firmware does not support the ECDSA_PUB_KEY command\n");
    + } else if (ret < 0) {
    + return ret;
    } else {
    u32 *s = reply->status;

    --
    2.20.1
    \
     
     \ /
      Last update: 2021-04-29 10:37    [W:5.663 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site