ixgbe: fix reconfiguration of Rx method
authorCunming Liang <cunming.liang@intel.com>
Wed, 12 Nov 2014 06:24:31 +0000 (14:24 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 12 Nov 2014 23:48:16 +0000 (00:48 +0100)
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 <cunming.liang@intel.com>
lib/librte_pmd_ixgbe/ixgbe_ethdev.c

index fb7ed3d..2eb609c 100644 (file)
@@ -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);
 }