The callback is registered in netdev initialization but isn't
unregistered in netdev destruct. Fix it.
Fixes: 988fd4639149 ("netdev-dpdk: add support for the RTE_ETH_EVENT_INTR_RESET
event.")
Change-Id: I645170825523f5b0c83f5ad3af8ea4a61cb257de
Signed-off-by: Roi Dayan <[email protected]>
Acked-by: Eli Britstein <[email protected]>
---
lib/netdev-dpdk.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 549887b31373..e6d9b58f914e 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -1762,6 +1762,10 @@ common_destruct(struct netdev_dpdk *dev)
static void dpdk_rx_steer_unconfigure(struct netdev_dpdk *);
+static int
+dpdk_eth_event_callback(dpdk_port_t port_id, enum rte_eth_event_type type,
+ void *param OVS_UNUSED, void *ret_param OVS_UNUSED);
+
static void
netdev_dpdk_destruct(struct netdev *netdev)
{
@@ -1831,6 +1835,10 @@ netdev_dpdk_destruct(struct netdev *netdev)
}
}
+ rte_eth_dev_callback_unregister(RTE_ETH_ALL,
+ RTE_ETH_EVENT_INTR_RESET,
+ dpdk_eth_event_callback, NULL);
+
netdev_dpdk_clear_xstats(dev);
free(dev->devargs);
common_destruct(dev);
--
2.21.0
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev