net/bnxt: fix port stop on error recovery failure
During live FW upgrade or error recovery, if restoring the filter settings fail after port start, driver invokes bnxt_uninit_resources() only. Fix it to invoke bnxt_dev_stop_op() first before calling bnxt_uninit_resources(). Fixes: df6cd7c1f73a ("net/bnxt: handle reset notify async event from FW") Cc: stable@dpdk.org Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Rahul Gupta <rahul.gupta@broadcom.com>
This commit is contained in:
parent
990d4978fa
commit
e5acec6929
@ -4022,15 +4022,17 @@ static void bnxt_dev_recover(void *arg)
|
||||
rc = bnxt_dev_start_op(bp->eth_dev);
|
||||
if (rc) {
|
||||
PMD_DRV_LOG(ERR, "Failed to start port after reset\n");
|
||||
goto err;
|
||||
goto err_start;
|
||||
}
|
||||
|
||||
rc = bnxt_restore_filters(bp);
|
||||
if (rc)
|
||||
goto err;
|
||||
goto err_start;
|
||||
|
||||
PMD_DRV_LOG(INFO, "Recovered from FW reset\n");
|
||||
return;
|
||||
err_start:
|
||||
bnxt_dev_stop_op(bp->eth_dev);
|
||||
err:
|
||||
bp->flags |= BNXT_FLAG_FATAL_ERROR;
|
||||
bnxt_uninit_resources(bp, false);
|
||||
|
Loading…
x
Reference in New Issue
Block a user