net/ice: net/ice: free the HW tables when close device
diff mbox series

Message ID 20191108094039.47840-1-qi.z.zhang@intel.com
State Accepted, archived
Delegated to: xiaolong ye
Headers show
Series
  • net/ice: net/ice: free the HW tables when close device
Related show

Checks

Context Check Description
ci/Intel-compilation fail Compilation issues
ci/travis-robot success Travis build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-compilation success Compile Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/checkpatch success coding style OK

Commit Message

Qi Zhang Nov. 8, 2019, 9:40 a.m. UTC
Free the HW tables during dev_close.
Otherwise there will be two issues:
1. Memory not be freed if the device is detached.
2. Driver can't be initialized correctly after device reset.

Fixes: a4c8c48fe3f4 ("net/ice: load OS default package")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/ice/ice_ethdev.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Xiaolong Ye Nov. 8, 2019, 3:28 p.m. UTC | #1
On 11/08, Qi Zhang wrote:
>Free the HW tables during dev_close.
>Otherwise there will be two issues:
>1. Memory not be freed if the device is detached.
>2. Driver can't be initialized correctly after device reset.
>
>Fixes: a4c8c48fe3f4 ("net/ice: load OS default package")
>
>Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
>---
> drivers/net/ice/ice_ethdev.c | 1 +
> 1 file changed, 1 insertion(+)
>
>diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
>index 432f4af69..febcdfe2a 100644
>--- a/drivers/net/ice/ice_ethdev.c
>+++ b/drivers/net/ice/ice_ethdev.c
>@@ -2397,6 +2397,7 @@ ice_dev_close(struct rte_eth_dev *dev)
> 	ice_res_pool_destroy(&pf->msix_pool);
> 	ice_release_vsi(pf->main_vsi);
> 	ice_sched_cleanup_all(hw);
>+	ice_free_hw_tbls(hw);
> 	rte_free(hw->port_info);
> 	hw->port_info = NULL;
> 	ice_shutdown_all_ctrlq(hw);
>-- 
>2.13.6
>

Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>

Applied to dpdk-next-net-intel. Thanks.

Patch
diff mbox series

diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index 432f4af69..febcdfe2a 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -2397,6 +2397,7 @@  ice_dev_close(struct rte_eth_dev *dev)
 	ice_res_pool_destroy(&pf->msix_pool);
 	ice_release_vsi(pf->main_vsi);
 	ice_sched_cleanup_all(hw);
+	ice_free_hw_tbls(hw);
 	rte_free(hw->port_info);
 	hw->port_info = NULL;
 	ice_shutdown_all_ctrlq(hw);