From: Cunming Liang Date: Wed, 12 Nov 2014 06:24:31 +0000 (+0800) Subject: ixgbe: fix reconfiguration of Rx method X-Git-Tag: spdx-start~10161 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=5974ee01f4e82f3d5290b5dcf1e69ea890fef24b;p=dpdk.git 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 --- 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); }