net/octeontx: fix stop clearing Rx/Tx functions
authorPavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Tue, 24 Jul 2018 10:43:50 +0000 (16:13 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 2 Aug 2018 07:59:10 +0000 (09:59 +0200)
On dev_stop the Rx/Tx_burst functions are being set to NULL, this causes
a SEGFAULT in cases where control path calls stop and a paket is still
being processed by a worker.
Instead clear the fastpath functions in dev_close.

Fixes: da6c687471a3 ("net/octeontx: add start and stop support")
Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
drivers/net/octeontx/octeontx_ethdev.c

index 974ef57..0f3d5d6 100644 (file)
@@ -353,6 +353,9 @@ octeontx_dev_close(struct rte_eth_dev *dev)
 
                rte_free(txq);
        }
+
+       dev->tx_pkt_burst = NULL;
+       dev->rx_pkt_burst = NULL;
 }
 
 static int
@@ -446,9 +449,6 @@ octeontx_dev_stop(struct rte_eth_dev *dev)
                             ret);
                return;
        }
-
-       dev->tx_pkt_burst = NULL;
-       dev->rx_pkt_burst = NULL;
 }
 
 static void