common/iavf: fix ARQ resource leak
In the iavf_init_arq function, if an exception occurs in the iavf_config_arq_regs function, and the previously applied ARQ (Admin Receive Queue) bufs resource is released. This patch maintains the same modification as the iavf_init_asq function to roll back resources. Fixes: 87aca6d8d8a4 ("net/iavf/base: fix command buffer memory leak") Cc: stable@dpdk.org Signed-off-by: Qiming Chen <chenqiming_huawei@163.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
This commit is contained in:
parent
ad5629de9a
commit
395d41fbb1
@ -417,7 +417,7 @@ enum iavf_status iavf_init_arq(struct iavf_hw *hw)
|
||||
/* initialize base registers */
|
||||
ret_code = iavf_config_arq_regs(hw);
|
||||
if (ret_code != IAVF_SUCCESS)
|
||||
goto init_adminq_free_rings;
|
||||
goto init_config_regs;
|
||||
|
||||
/* success! */
|
||||
hw->aq.arq.count = hw->aq.num_arq_entries;
|
||||
@ -425,6 +425,10 @@ enum iavf_status iavf_init_arq(struct iavf_hw *hw)
|
||||
|
||||
init_adminq_free_rings:
|
||||
iavf_free_adminq_arq(hw);
|
||||
return ret_code;
|
||||
|
||||
init_config_regs:
|
||||
iavf_free_arq_bufs(hw);
|
||||
|
||||
init_adminq_exit:
|
||||
return ret_code;
|
||||
|
Loading…
x
Reference in New Issue
Block a user