Correctly destroy queue and remove it from scheduler.
Signed-off-by: Maxim Uvarov <[email protected]>
---
v2:
I reused Tarases implementation for destroy queue,
which also removes this queue from scheduling.
Maxim.
platform/linux-generic/odp_packet_io.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/platform/linux-generic/odp_packet_io.c
b/platform/linux-generic/odp_packet_io.c
index 3ca8100..089feae 100644
--- a/platform/linux-generic/odp_packet_io.c
+++ b/platform/linux-generic/odp_packet_io.c
@@ -391,7 +391,19 @@ int odp_pktio_inq_setdef(odp_pktio_t id, odp_queue_t queue)
int odp_pktio_inq_remdef(odp_pktio_t id)
{
- return odp_pktio_inq_setdef(id, ODP_QUEUE_INVALID);
+ pktio_entry_t *pktio_entry = get_pktio_entry(id);
+ odp_queue_t queue;
+ int ret;
+
+ if (pktio_entry == NULL)
+ return -1;
+
+ lock_entry(pktio_entry);
+ queue = pktio_entry->s.inq_default;
+ ret = odp_queue_destroy(queue);
+ unlock_entry(pktio_entry);
+
+ return ret;
}
odp_queue_t odp_pktio_inq_getdef(odp_pktio_t id)
--
1.8.5.1.163.gd7aced9
_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp