Hi

On Friday 23 November 2007 22:54, Roel Kluin wrote:
> In function ehea_poll() drivers/net/ehea/ehea_main.c:667, in a loop cqe and
> cqe_skb - both struct ehea_cqe pointers - are assigned:
> --
> cqe = ehea_poll_rq1(pr->qp, &wqe_index);
> cqe_skb = ehea_poll_cq(pr->send_cq);
> 
> if (!cqe && !cqe_skb)
>       return rx;
> --
> Is it intended that only when both are NULL there is a return, or should there
> be returned when either is NULL (and the && replaced with ||).

The AND is intended. We can only return if cqe==NULL. If cqe!=NULL and we
return anyway, more packets are in the receive queue and the stack won't call 
poll again
until the next interrupt occurs. Received packets might stay unprocessed for 
quite
some time in the queue.
In case there are more resources (SKBs) from send side
to be freed we'll do an extra round.

Regards,
Jan-Bernd
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to