net/bnxt: fix port start failure handling
authorKalesh AP <kalesh-anakkur.purayil@broadcom.com>
Tue, 21 Apr 2020 21:33:48 +0000 (14:33 -0700)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 22 Apr 2020 11:41:24 +0000 (13:41 +0200)
Fixed to invoke clean up in the reverse sequence of
initialization in case any of the FW commands fail
during port start.

Fixes: 0b533591238f ("net/bnxt: inform firmware about IF state changes")
Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
drivers/net/bnxt/bnxt_ethdev.c

index 780d9c4..206111d 100644 (file)
@@ -1113,10 +1113,10 @@ static int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
        return 0;
 
 error:
-       bnxt_hwrm_if_change(bp, false);
        bnxt_shutdown_nic(bp);
        bnxt_free_tx_mbufs(bp);
        bnxt_free_rx_mbufs(bp);
+       bnxt_hwrm_if_change(bp, false);
        eth_dev->data->dev_started = 0;
        return rc;
 }