We are not checking for return values of functions like bnxt_hwrm_queue_qportcfg and bnxt_hwrm_func_qcfg in bnxt_dev_init thereby preventing a cleanup in case of a HWRM command failure. This patch fixes that.
Signed-off-by: Ajit Khaparde <ajit.khapa...@broadcom.com> --- drivers/net/bnxt/bnxt_ethdev.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 6f8a6335b..29f494302 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -3172,9 +3172,17 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev) rc = bnxt_hwrm_ver_get(bp); if (rc) goto error_free; - bnxt_hwrm_queue_qportcfg(bp); + rc = bnxt_hwrm_queue_qportcfg(bp); + if (rc) { + RTE_LOG(ERR, PMD, "hwrm queue qportcfg failed\n"); + goto error_free; + } - bnxt_hwrm_func_qcfg(bp); + rc = bnxt_hwrm_func_qcfg(bp); + if (rc) { + RTE_LOG(ERR, PMD, "hwrm func qcfg failed\n"); + goto error_free; + } /* Get the MAX capabilities for this function */ rc = bnxt_hwrm_func_qcaps(bp); -- 2.14.3 (Apple Git-98)