net/iavf: fix flow uninit issue

Message ID 20200527071650.82645-1-jia.guo@intel.com (mailing list archive)
State Accepted, archived
Delegated to: xiaolong ye
Headers
Series net/iavf: fix flow uninit issue |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-nxp-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-testing warning Testing issues
ci/travis-robot success Travis build: passed

Commit Message

Guo, Jia May 27, 2020, 7:16 a.m. UTC
  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

Xiaolong Ye May 28, 2020, 2:14 a.m. UTC | #1
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.
  

Patch

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