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