From: Rahul Gupta <rahul.gu...@broadcom.com>

In stop_op(), don't wait for link down event's ASYNC response from FW.

Signed-off-by: Rahul Gupta <rahul.gu...@broadcom.com>
Reviewed-by: Kalesh Anakkur Purayil <kalesh-anakkur.pura...@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khapa...@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 3b48f44f85..fb4deef821 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -960,8 +960,12 @@ static void bnxt_dev_stop_op(struct rte_eth_dev *eth_dev)
                eth_dev->data->dev_link.link_status = 0;
        }
        bnxt_dev_set_link_down_op(eth_dev);
-       /* Wait for link to be reset and the async notification to process. */
-       rte_delay_ms(BNXT_LINK_WAIT_INTERVAL * 2);
+
+       /* Wait for link to be reset and the async notification to process.
+        * During reset recovery, there is no need to wait
+        */
+       if (!is_bnxt_in_error(bp))
+               rte_delay_ms(BNXT_LINK_WAIT_INTERVAL * 2);
 
        /* Clean queue intr-vector mapping */
        rte_intr_efd_disable(intr_handle);
-- 
2.20.1 (Apple Git-117)

Reply via email to