[dpdk-dev] [PATCH 01/13] net/bnxt: check return values in bnxt_dev_init

Ajit Khaparde ajit.khaparde at broadcom.com
Mon Jan 8 21:24:25 CET 2018


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.khaparde at 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)



More information about the dev mailing list