ixgbe: fix Rx queue reset
authorKonstantin Ananyev <konstantin.ananyev@intel.com>
Mon, 27 Jul 2015 13:28:16 +0000 (14:28 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 27 Jul 2015 13:59:58 +0000 (15:59 +0200)
As Steve pointed out, the commit 11b220c6498d ("ixgbe: fix release queue mbufs")
is not complete.
As at queue stop we don't reset vector related rx queue fields to their
initial values.

Fixes: c95584dc2b18 ("ixgbe: new vectorized functions for Rx/Tx")

Reported-by: Cunming Liang <cunming.liang@intel.com>
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
drivers/net/ixgbe/ixgbe_rxtx.c

index cbb16b6..a0c8847 100644 (file)
@@ -2400,6 +2400,11 @@ ixgbe_reset_rx_queue(struct ixgbe_adapter *adapter, struct ixgbe_rx_queue *rxq)
        rxq->nb_rx_hold = 0;
        rxq->pkt_first_seg = NULL;
        rxq->pkt_last_seg = NULL;
+
+#ifdef RTE_IXGBE_INC_VECTOR
+       rxq->rxrearm_start = 0;
+       rxq->rxrearm_nb = 0;
+#endif
 }
 
 int __attribute__((cold))