Commit:     5f286e113fa377e50bd18fc45e5a0d4d83f6950c
Parent:     b9099ff63c75216d6ca10bce5a1abcd9293c27e6
Author:     Sergei Shtylyov <[EMAIL PROTECTED]>
AuthorDate: Sat Apr 28 20:57:37 2007 -0700
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Sat Apr 28 20:57:37 2007 -0700

    [NETPOLL]: Fix TX queue overflow in trapped mode.
    CONFIG_NETPOLL_TRAP causes the TX queue controls to be completely bypassed 
    the netpoll's "trapped" mode which easily causes overflows in the drivers 
    short TX queues (most notably, in 8139too with its 4-deep queue).  So, make
    this option more sensible by making it only bypass the TX softirq wakeup.
    Signed-off-by: Sergei Shtylyov <[EMAIL PROTECTED]>
    Acked-by: Jeff Garzik <[EMAIL PROTECTED]>
    Acked-by: Tom Rini <[EMAIL PROTECTED]>
    Acked-by: Matt Mackall <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
 include/linux/netdevice.h |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index e027a37..24cef42 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -654,8 +654,10 @@ static inline void netif_start_queue(struct net_device 
 static inline void netif_wake_queue(struct net_device *dev)
-       if (netpoll_trap())
+       if (netpoll_trap()) {
+               clear_bit(__LINK_STATE_XOFF, &dev->state);
+       }
        if (test_and_clear_bit(__LINK_STATE_XOFF, &dev->state))
@@ -663,10 +665,6 @@ static inline void netif_wake_queue(struct net_device *dev)
 static inline void netif_stop_queue(struct net_device *dev)
-       if (netpoll_trap())
-               return;
        set_bit(__LINK_STATE_XOFF, &dev->state);
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to