[PATCH net-next v2 3/5] eea: Refactor error handling in eea_adminq_config_host_info()
From: Andy Shevchenko
Date: Fri Oct 02 2026 - 06:07:32 EST
Use traditional pattern to check for error first in
eea_adminq_config_host_info().
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
---
drivers/net/ethernet/alibaba/eea/eea_adminq.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/alibaba/eea/eea_adminq.c b/drivers/net/ethernet/alibaba/eea/eea_adminq.c
index 4876f8a1e686..92eeff32b00c 100644
--- a/drivers/net/ethernet/alibaba/eea/eea_adminq.c
+++ b/drivers/net/ethernet/alibaba/eea/eea_adminq.c
@@ -517,18 +517,19 @@ void eea_adminq_config_host_info(struct eea_net *enet)
rc = eea_adminq_exec(enet, EEA_AQ_CMD_HOST_INFO,
cfg, sizeof(*cfg), rep, sizeof(*rep), NULL);
+ if (rc)
+ goto err_free_rep;
- if (!rc) {
- if (rep->op_code == EEA_HINFO_REP_BAD)
- dev_warn(dev, "The hardware-driven state validation may be abnormal.\n");
+ if (rep->op_code == EEA_HINFO_REP_BAD)
+ dev_warn(dev, "The hardware-driven state validation may be abnormal.\n");
- if (rep->has_reply) {
- rep->reply_str[EEA_HINFO_MAX_REP_LEN - 1] = '\0';
- dev_warn(dev, "Device replied: %*pEhp\n",
- (int)strlen(rep->reply_str), rep->reply_str);
- }
+ if (rep->has_reply) {
+ rep->reply_str[EEA_HINFO_MAX_REP_LEN - 1] = '\0';
+ dev_warn(dev, "Device replied: %*pEhp\n",
+ (int)strlen(rep->reply_str), rep->reply_str);
}
+err_free_rep:
kfree(rep);
err_free_cfg:
kfree(cfg);
--
2.50.1