Commit a668a6b0 authored by Matt Mackall's avatar Matt Mackall Committed by Linus Torvalds

[PATCH] netpoll: revert queue stopped change

Here's the first of the broken out patch set.  This puts the check for
netif_queue_stopped back into netpoll_send_skb.  Network drivers are not
designed to have their hard_start_xmit routines called when the queue is
stopped.
Signed-off-by: default avatarJeff Moyer <jmoyer@redhat.com>
Signed-off-by: default avatarMatt Mackall <mpm@selenic.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 76bd9baa
......@@ -170,6 +170,18 @@ void netpoll_send_skb(struct netpoll *np, struct sk_buff *skb)
spin_lock(&np->dev->xmit_lock);
np->dev->xmit_lock_owner = smp_processor_id();
/*
* network drivers do not expect to be called if the queue is
* stopped.
*/
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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment