net/iavf: fix flow uninit
authorJeff Guo <jia.guo@intel.com>
Wed, 27 May 2020 07:16:50 +0000 (15:16 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 28 May 2020 15:57:07 +0000 (17:57 +0200)
When closing VF device, the process of shutdown adminq should be after
the process of uninit the flow, since the VF might still need to use the
adminq to uninit flow.

Fixes: 9e03acd726cf ("net/iavf: fix flow access")
Fixes: ff2d0c345c3b ("net/iavf: support generic flow API")
Cc: stable@dpdk.org
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
drivers/net/iavf/iavf_ethdev.c

index e09efff..2b1066b 100644 (file)
@@ -1432,6 +1432,7 @@ iavf_dev_close(struct rte_eth_dev *dev)
 
        iavf_dev_stop(dev);
        iavf_flow_flush(dev, NULL);
+       iavf_flow_uninit(adapter);
        iavf_shutdown_adminq(hw);
        /* disable uio intr before callback unregister */
        rte_intr_disable(intr_handle);
@@ -1440,8 +1441,6 @@ iavf_dev_close(struct rte_eth_dev *dev)
        rte_intr_callback_unregister(intr_handle,
                                     iavf_dev_interrupt_handler, dev);
        iavf_disable_irq0(hw);
-
-       iavf_flow_uninit(adapter);
 }
 
 static int