[PATCH] net/bnxt: restore fast-path API pointers post recovery

Somnath Kotur somnath.kotur at broadcom.com
Mon Nov 22 05:53:14 CET 2021


In bnxt_dev_recover(), restore the newly introduced fast-path API pointers
(struct rte_eth_fp_ops)->rx_pkt_burst to the real burst routines instead of
the dummy ones, once error recovery has successfully completed.

Fixes: c87d435a4d79 ("ethdev: copy fast-path API into separate structure")

Signed-off-by: Somnath Kotur <somnath.kotur at broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index c1bdf9a921..f79f33ab4e 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -4345,6 +4345,12 @@ static void bnxt_dev_recover(void *arg)
 		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;
-- 
2.28.0.497.g54e85e7



More information about the dev mailing list