net/iavf: fix flow uninit issue
Checks
Commit Message
When closing VF device, the process of shutdown adminq should be after of
the process of uninit the flow, since the VF might be still use the adminq
to uninit flow.
Fixes: 9e03acd726cf ("net/iavf: fix flow access")
Fixes: ff2d0c345c3b ("net/iavf: support generic flow API")
Signed-off-by: Jeff Guo <jia.guo@intel.com>
---
drivers/net/iavf/iavf_ethdev.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Comments
On 05/27, Jeff Guo wrote:
>When closing VF device, the process of shutdown adminq should be after of
>the process of uninit the flow, since the VF might be still use the adminq
>to uninit flow.
>
>Fixes: 9e03acd726cf ("net/iavf: fix flow access")
>Fixes: ff2d0c345c3b ("net/iavf: support generic flow API")
>Signed-off-by: Jeff Guo <jia.guo@intel.com>
>---
> drivers/net/iavf/iavf_ethdev.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
>diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
>index e09efffd1..2b1066b0a 100644
>--- a/drivers/net/iavf/iavf_ethdev.c
>+++ b/drivers/net/iavf/iavf_ethdev.c
>@@ -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
>--
>2.20.1
>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
Applied to dpdk-next-net-intel, Thanks.
@@ -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