From: Jie Liu <[email protected]>
sxe2_rxq_intr_unregister() frees irq_ctxt->rxq_event_fd outside the
rxq_event_fd NULL check. Move the free and NULL assignment inside the
guard so the buffer is only released when it was allocated.
Fixes: 8cebf80f1e ("net/sxe2: support Rx interrupt")
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Jie Liu <[email protected]>
---
drivers/net/sxe2/sxe2_irq.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/net/sxe2/sxe2_irq.c b/drivers/net/sxe2/sxe2_irq.c
index 53d49a4246..7fe500b229 100644
--- a/drivers/net/sxe2/sxe2_irq.c
+++ b/drivers/net/sxe2/sxe2_irq.c
@@ -881,12 +881,11 @@ static void sxe2_rxq_intr_unregister(struct rte_eth_dev
*dev)
(void)sxe2_drv_dev_rxq_irq_set(adapter->cdev, i, &efd,
1);
sxe2_rxq_intr_efd_free(irq_ctxt->rxq_event_fd[i]);
}
+ rte_free(irq_ctxt->rxq_event_fd);
+ irq_ctxt->rxq_event_fd = NULL;
}
- rte_free(irq_ctxt->rxq_event_fd);
- irq_ctxt->rxq_event_fd = NULL;
rte_intr_vec_list_free(intr_handle);
-
rte_intr_nb_efd_set(intr_handle, 0);
rte_intr_max_intr_set(intr_handle, 0);
}
--
2.52.0