From 5974ee01f4e82f3d5290b5dcf1e69ea890fef24b Mon Sep 17 00:00:00 2001 From: Cunming Liang Date: Wed, 12 Nov 2014 14:24:31 +0800 Subject: [PATCH] ixgbe: fix reconfiguration of Rx method The scattered_rx configuration is updated in dev_start(). For the execution sequence "stop, re-configure and then re-start", it expects using the new configuration. But during re-configure, the stored data may still be the old one. The patch clean the configuration anyway in dev_stop(). So that make sure always get the best Rx routine. Signed-off-by: Cunming Liang --- lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/librte_pmd_ixgbe/ixgbe_ethdev.c b/lib/librte_pmd_ixgbe/ixgbe_ethdev.c index fb7ed3d43b..2eb609c65d 100644 --- a/lib/librte_pmd_ixgbe/ixgbe_ethdev.c +++ b/lib/librte_pmd_ixgbe/ixgbe_ethdev.c @@ -1600,6 +1600,9 @@ ixgbe_dev_stop(struct rte_eth_dev *dev) ixgbe_dev_clear_queues(dev); + /* Clear stored conf */ + dev->data->scattered_rx = 0; + /* Clear recorded link status */ memset(&link, 0, sizeof(link)); rte_ixgbe_dev_atomic_write_link_status(dev, &link); @@ -2889,6 +2892,9 @@ ixgbevf_dev_stop(struct rte_eth_dev *dev) */ ixgbevf_set_vfta_all(dev,0); + /* Clear stored conf */ + dev->data->scattered_rx = 0; + ixgbe_dev_clear_queues(dev); } -- 2.20.1