Fixes: 72d7efe464b1 ("common/mlx5: share interrupt management")
Cc: sta...@dpdk.org

Signed-off-by: Minggang Li(Gavin) <gav...@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viachesl...@nvidia.com>
---
 drivers/net/mlx5/linux/mlx5_os.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index 4c2caa21e9..8df45ef010 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -3076,10 +3076,15 @@ mlx5_os_dev_shared_handler_install(struct 
mlx5_dev_ctx_shared *sh)
 void
 mlx5_os_dev_shared_handler_uninstall(struct mlx5_dev_ctx_shared *sh)
 {
+       int fd;
+
        mlx5_os_interrupt_handler_destroy(sh->intr_handle,
                                          mlx5_dev_interrupt_handler, sh);
+       fd = rte_intr_fd_get(sh->intr_handle_nl);
        mlx5_os_interrupt_handler_destroy(sh->intr_handle_nl,
                                          mlx5_dev_interrupt_handler_nl, sh);
+       if (fd >= 0)
+               close(fd);
 #ifdef HAVE_IBV_DEVX_ASYNC
        mlx5_os_interrupt_handler_destroy(sh->intr_handle_devx,
                                          mlx5_dev_interrupt_handler_devx, sh);
-- 
2.34.1

Reply via email to