The per-port data and control rings were not freed when the event
device was closed.

Fixes: 1c8e3caa3bfb ("event/dsw: add event scheduling and device start/stop")
Cc: sta...@dpdk.org

Signed-off-by: Mattias Rönnblom <mattias.ronnb...@ericsson.com>
---
 drivers/event/dsw/dsw_evdev.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/event/dsw/dsw_evdev.c b/drivers/event/dsw/dsw_evdev.c
index ffabf0d23d..6c5cde2468 100644
--- a/drivers/event/dsw/dsw_evdev.c
+++ b/drivers/event/dsw/dsw_evdev.c
@@ -363,6 +363,10 @@ static int
 dsw_close(struct rte_eventdev *dev)
 {
        struct dsw_evdev *dsw = dsw_pmd_priv(dev);
+       uint16_t port_id;
+
+       for (port_id = 0; port_id < dsw->num_ports; port_id++)
+               dsw_port_release(&dsw->ports[port_id]);
 
        dsw->num_ports = 0;
        dsw->num_queues = 0;
-- 
2.34.1

Reply via email to