[dpdk-dev] ixgbe: fix RX queue vector fields are not reset properly

Message ID 1438003696-15787-1-git-send-email-konstantin.ananyev@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Ananyev, Konstantin July 27, 2015, 1:28 p.m. UTC
  As Steve pointed out, "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.

Reported-by: Cunming Liang <cunming.liang@intel.com>
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
 drivers/net/ixgbe/ixgbe_rxtx.c | 5 +++++
 1 file changed, 5 insertions(+)
  

Comments

Thomas Monjalon July 27, 2015, 1:55 p.m. UTC | #1
> As Steve pointed out, "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.
> 
> Reported-by: Cunming Liang <cunming.liang@intel.com>
> Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

Applied, thanks
  

Patch

diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index cbb16b6..a0c8847 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -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))