The interrupt handle fd points to efd[0] which is already closed
by rte_intr_efd_disable(). Clear the FD reference before freeing
the interrupt handle to avoid a spurious leak warning.

Fixes: d770ee9caed0 ("interrupts: warn on leaked FDs")

Signed-off-by: David Marchand <[email protected]>
---
 drivers/raw/ifpga/ifpga_rawdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/raw/ifpga/ifpga_rawdev.c b/drivers/raw/ifpga/ifpga_rawdev.c
index c4143bfb3e..d44141824f 100644
--- a/drivers/raw/ifpga/ifpga_rawdev.c
+++ b/drivers/raw/ifpga/ifpga_rawdev.c
@@ -1421,6 +1421,8 @@ ifpga_unregister_msix_irq(struct ifpga_rawdev *dev, enum 
ifpga_irq_type type,
                        type == IFPGA_FME_IRQ ? "FME" : "AFU",
                        type == IFPGA_FME_IRQ ? 0 : vec_start);
        } else {
+               /* fd was pointing to efd[0] which is closed by 
rte_intr_efd_disable(). */
+               rte_intr_fd_set(*intr_handle, -1);
                rte_intr_instance_free(*intr_handle);
                *intr_handle = NULL;
        }
-- 
2.54.0

Reply via email to