https://bugs.linaro.org/show_bug.cgi?id=1383

            Bug ID: 1383
           Summary: validation: pktio check for poll queue type
           Product: OpenDataPlane
           Version: unspecified
          Hardware: Other
                OS: Linux
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: ---
         Component: General ODP
          Assignee: [email protected]
          Reporter: [email protected]

In the odp_pktio validation – a pktio is created and it is configured with a
PKTIN queue.

Packets are then enqueued to the out queue of the device.
In the function wait_for_packet I think is an issue when an event is received.
There is  the following condition :

if (queue != ODP_QUEUE_INVALID)

                  ev = queue_deq_wait_time(queue, ns);
            else
                  ev  = odp_schedule(NULL, ns);


The queue that comes as input param, is the PKTIN queue which is a scheduled
queue.
As it can be noticed the queue_deq_wait_time will be called (PKTN queue is
valid) and there,an explicit dequeue operation will be performed on a scheduled
queue which is not OK.
So a schedule would be proper instead of explicit dequeue.

A possible fix is to check for queue type instead of validity, and if the queue
is POLL  then take the corresponding branch:


if (odp_queue_type(queue) == ODP_QUEUE_TYPE_POLL)
                  ev = queue_deq_wait_time(queue, ns);
            else
                  ev  = odp_schedule(NULL, ns);

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to