Messages in this thread Patch in this message | | | Date | Sat, 10 Apr 2004 15:34:13 -0500 | From | Matt Mackall <> | Subject | [PATCH] netpoll transmit busy bugfix |
| |
Fix for handling of full transmit queue when netpoll trap is enabled.
From Stelian Pop <stelian@popies.net>
%patch Index: mm/net/core/netpoll.c =================================================================== --- mm.orig/net/core/netpoll.c 2004-04-10 15:15:25.000000000 -0500 +++ mm/net/core/netpoll.c 2004-04-10 15:19:31.000000000 -0500 @@ -163,21 +163,15 @@ spin_lock(&np->dev->xmit_lock); np->dev->xmit_lock_owner = smp_processor_id(); - if (netif_queue_stopped(np->dev)) { - np->dev->xmit_lock_owner = -1; - spin_unlock(&np->dev->xmit_lock); - - netpoll_poll(np); - goto repeat; - } - status = np->dev->hard_start_xmit(skb, np->dev); np->dev->xmit_lock_owner = -1; spin_unlock(&np->dev->xmit_lock); /* transmit busy */ - if(status) + if(status) { + netpoll_poll(np); goto repeat; + } } void netpoll_send_udp(struct netpoll *np, const char *msg, int len) %diffstat netpoll.c | 12 +++--------- 1 files changed, 3 insertions(+), 9 deletions(-)
-- Matt Mackall : http://www.selenic.com : Linux development and consulting - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |