lkml.org 
[lkml]   [2023]   [Oct]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH net-next v3 04/11] bnxt_en: devlink health: use retained error fmsg API
    Date
    Drop unneeded error checking.

    devlink_fmsg_*() family of functions is now retaining errors,
    so there is no need to check for them after each call.

    Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
    Reviewed-by: Jiri Pirko <jiri@nvidia.com>
    Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
    ---
    add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-125 (-125)
    ---
    .../net/ethernet/broadcom/bnxt/bnxt_devlink.c | 93 +++++++------------
    1 file changed, 32 insertions(+), 61 deletions(-)

    diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
    index 8b3e7697390f..09254e8a62d0 100644
    --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
    +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
    @@ -104,80 +104,58 @@ static int bnxt_fw_diagnose(struct devlink_health_reporter *reporter,
    struct bnxt *bp = devlink_health_reporter_priv(reporter);
    struct bnxt_fw_health *h = bp->fw_health;
    u32 fw_status, fw_resets;
    - int rc;

    - if (test_bit(BNXT_STATE_IN_FW_RESET, &bp->state))
    - return devlink_fmsg_string_pair_put(fmsg, "Status", "recovering");
    + if (test_bit(BNXT_STATE_IN_FW_RESET, &bp->state)) {
    + devlink_fmsg_string_pair_put(fmsg, "Status", "recovering");
    + return 0;
    + }

    - if (!h->status_reliable)
    - return devlink_fmsg_string_pair_put(fmsg, "Status", "unknown");
    + if (!h->status_reliable) {
    + devlink_fmsg_string_pair_put(fmsg, "Status", "unknown");
    + return 0;
    + }

    mutex_lock(&h->lock);
    fw_status = bnxt_fw_health_readl(bp, BNXT_FW_HEALTH_REG);
    if (BNXT_FW_IS_BOOTING(fw_status)) {
    - rc = devlink_fmsg_string_pair_put(fmsg, "Status", "initializing");
    - if (rc)
    - goto unlock;
    + devlink_fmsg_string_pair_put(fmsg, "Status", "initializing");
    } else if (h->severity || fw_status != BNXT_FW_STATUS_HEALTHY) {
    if (!h->severity) {
    h->severity = SEVERITY_FATAL;
    h->remedy = REMEDY_POWER_CYCLE_DEVICE;
    h->diagnoses++;
    devlink_health_report(h->fw_reporter,
    "FW error diagnosed", h);
    }
    - rc = devlink_fmsg_string_pair_put(fmsg, "Status", "error");
    - if (rc)
    - goto unlock;
    - rc = devlink_fmsg_u32_pair_put(fmsg, "Syndrome", fw_status);
    - if (rc)
    - goto unlock;
    + devlink_fmsg_string_pair_put(fmsg, "Status", "error");
    + devlink_fmsg_u32_pair_put(fmsg, "Syndrome", fw_status);
    } else {
    - rc = devlink_fmsg_string_pair_put(fmsg, "Status", "healthy");
    - if (rc)
    - goto unlock;
    + devlink_fmsg_string_pair_put(fmsg, "Status", "healthy");
    }

    - rc = devlink_fmsg_string_pair_put(fmsg, "Severity",
    - bnxt_health_severity_str(h->severity));
    - if (rc)
    - goto unlock;
    + devlink_fmsg_string_pair_put(fmsg, "Severity",
    + bnxt_health_severity_str(h->severity));

    if (h->severity) {
    - rc = devlink_fmsg_string_pair_put(fmsg, "Remedy",
    - bnxt_health_remedy_str(h->remedy));
    - if (rc)
    - goto unlock;
    - if (h->remedy == REMEDY_DEVLINK_RECOVER) {
    - rc = devlink_fmsg_string_pair_put(fmsg, "Impact",
    - "traffic+ntuple_cfg");
    - if (rc)
    - goto unlock;
    - }
    + devlink_fmsg_string_pair_put(fmsg, "Remedy",
    + bnxt_health_remedy_str(h->remedy));
    + if (h->remedy == REMEDY_DEVLINK_RECOVER)
    + devlink_fmsg_string_pair_put(fmsg, "Impact",
    + "traffic+ntuple_cfg");
    }

    -unlock:
    mutex_unlock(&h->lock);
    - if (rc || !h->resets_reliable)
    - return rc;
    + if (!h->resets_reliable)
    + return 0;

    fw_resets = bnxt_fw_health_readl(bp, BNXT_FW_RESET_CNT_REG);
    - rc = devlink_fmsg_u32_pair_put(fmsg, "Resets", fw_resets);
    - if (rc)
    - return rc;
    - rc = devlink_fmsg_u32_pair_put(fmsg, "Arrests", h->arrests);
    - if (rc)
    - return rc;
    - rc = devlink_fmsg_u32_pair_put(fmsg, "Survivals", h->survivals);
    - if (rc)
    - return rc;
    - rc = devlink_fmsg_u32_pair_put(fmsg, "Discoveries", h->discoveries);
    - if (rc)
    - return rc;
    - rc = devlink_fmsg_u32_pair_put(fmsg, "Fatalities", h->fatalities);
    - if (rc)
    - return rc;
    - return devlink_fmsg_u32_pair_put(fmsg, "Diagnoses", h->diagnoses);
    + devlink_fmsg_u32_pair_put(fmsg, "Resets", fw_resets);
    + devlink_fmsg_u32_pair_put(fmsg, "Arrests", h->arrests);
    + devlink_fmsg_u32_pair_put(fmsg, "Survivals", h->survivals);
    + devlink_fmsg_u32_pair_put(fmsg, "Discoveries", h->discoveries);
    + devlink_fmsg_u32_pair_put(fmsg, "Fatalities", h->fatalities);
    + devlink_fmsg_u32_pair_put(fmsg, "Diagnoses", h->diagnoses);
    + return 0;
    }

    static int bnxt_fw_dump(struct devlink_health_reporter *reporter,
    @@ -203,19 +181,12 @@ static int bnxt_fw_dump(struct devlink_health_reporter *reporter,

    rc = bnxt_get_coredump(bp, BNXT_DUMP_LIVE, data, &dump_len);
    if (!rc) {
    - rc = devlink_fmsg_pair_nest_start(fmsg, "core");
    - if (rc)
    - goto exit;
    - rc = devlink_fmsg_binary_pair_put(fmsg, "data", data, dump_len);
    - if (rc)
    - goto exit;
    - rc = devlink_fmsg_u32_pair_put(fmsg, "size", dump_len);
    - if (rc)
    - goto exit;
    - rc = devlink_fmsg_pair_nest_end(fmsg);
    + devlink_fmsg_pair_nest_start(fmsg, "core");
    + devlink_fmsg_binary_pair_put(fmsg, "data", data, dump_len);
    + devlink_fmsg_u32_pair_put(fmsg, "size", dump_len);
    + devlink_fmsg_pair_nest_end(fmsg);
    }

    -exit:
    vfree(data);
    return rc;
    }
    --
    2.38.1
    \
     
     \ /
      Last update: 2023-10-18 22:28    [W:2.632 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site