From: Qiming Chen Date: Sat, 21 Aug 2021 06:30:08 +0000 (+0800) Subject: net/i40e/base: fix resource leakage X-Git-Url: http://git.droids-corp.org/?p=dpdk.git;a=commitdiff_plain;h=071eb26fb53914aafda4aa33356f65d2c7a2e4e0 net/i40e/base: fix resource leakage In the i40e_init_arq function, when the i40e_config_arq_regs function returns from processing failure, the previously applied arq_bufs resource is not released, which leads to leakage. The patch is processed in the same way as the i40e_init_asq function, maintaining a unified coding style. Fixes: 49ea51605be4 ("net/i40e/base: gracefully clean the resources") Cc: stable@dpdk.org Signed-off-by: Qiming Chen Acked-by: Qi Zhang --- diff --git a/drivers/net/i40e/base/i40e_adminq.c b/drivers/net/i40e/base/i40e_adminq.c index 0da45f03e4..235667d57a 100644 --- a/drivers/net/i40e/base/i40e_adminq.c +++ b/drivers/net/i40e/base/i40e_adminq.c @@ -468,7 +468,7 @@ enum i40e_status_code i40e_init_arq(struct i40e_hw *hw) /* initialize base registers */ ret_code = i40e_config_arq_regs(hw); if (ret_code != I40E_SUCCESS) - goto init_adminq_free_rings; + goto init_config_regs; /* success! */ hw->aq.arq.count = hw->aq.num_arq_entries; @@ -476,6 +476,10 @@ enum i40e_status_code i40e_init_arq(struct i40e_hw *hw) init_adminq_free_rings: i40e_free_adminq_arq(hw); + return ret_code; + +init_config_regs: + i40e_free_arq_bufs(hw); init_adminq_exit: return ret_code;