From de3fef20b94a9a1e46ef5d274b38dcde1095487a Mon Sep 17 00:00:00 2001 From: Kalesh AP Date: Tue, 4 Jan 2022 14:08:13 +0530 Subject: [PATCH] net/bnxt: set fast-path pointers only if recovery succeeds During reset recovery, fixed to set the fast-path pointers only if recovery succeeds. Fixes: 720b55ad278e ("net/bnxt: fix crash caused by error recovery") Cc: stable@dpdk.org Signed-off-by: Kalesh AP Reviewed-by: Ajit Khaparde Reviewed-by: Somnath Kotur --- drivers/net/bnxt/bnxt_ethdev.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 82350a5008..80de320970 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -4376,16 +4376,16 @@ static void bnxt_dev_recover(void *arg) goto err_start; } + rc = bnxt_restore_filters(bp); + if (rc) + goto err_start; + rte_eth_fp_ops[bp->eth_dev->data->port_id].rx_pkt_burst = bp->eth_dev->rx_pkt_burst; rte_eth_fp_ops[bp->eth_dev->data->port_id].tx_pkt_burst = bp->eth_dev->tx_pkt_burst; rte_mb(); - rc = bnxt_restore_filters(bp); - if (rc) - goto err_start; - PMD_DRV_LOG(INFO, "Port: %u Recovered from FW reset\n", bp->eth_dev->data->port_id); pthread_mutex_unlock(&bp->err_recovery_lock); -- 2.39.5