bnxt_en: devlink health: use retained error fmsg API
authorPrzemek Kitszel <przemyslaw.kitszel@intel.com>
Wed, 18 Oct 2023 20:26:40 +0000 (22:26 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Oct 2023 10:34:49 +0000 (11:34 +0100)
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>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c

index c3beadc1205bb6b883605cf5a438d03fa2f05b3d..f302dac565996d11f7d6f1f35d8100fd6aad9896 100644 (file)
@@ -104,20 +104,21 @@ 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;
@@ -126,58 +127,35 @@ static int bnxt_fw_diagnose(struct devlink_health_reporter *reporter,
                        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;
 }