odp_queue_lookup() should not be able to find queues in the transient
state QUEUE_STATUS_DESTOYED

Signed-off-by: Bill Fischofer <[email protected]>
---
 platform/linux-generic/odp_queue.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/platform/linux-generic/odp_queue.c 
b/platform/linux-generic/odp_queue.c
index 46b3371..87483b9 100644
--- a/platform/linux-generic/odp_queue.c
+++ b/platform/linux-generic/odp_queue.c
@@ -325,7 +325,8 @@ odp_queue_t odp_queue_lookup(const char *name)
        for (i = 0; i < ODP_CONFIG_QUEUES; i++) {
                queue_entry_t *queue = &queue_tbl->queue[i];
 
-               if (queue->s.status == QUEUE_STATUS_FREE)
+               if (queue->s.status == QUEUE_STATUS_FREE ||
+                   queue->s.status == QUEUE_STATUS_DESTROYED)
                        continue;
 
                LOCK(&queue->s.lock);
-- 
2.1.4

_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to