diff options
Diffstat (limited to 'net/core/netpoll.c')
-rw-r--r-- | net/core/netpoll.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/core/netpoll.c b/net/core/netpoll.c index 4e98ffac3af0..02dc2cbcbe86 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c | |||
@@ -35,7 +35,6 @@ | |||
35 | 35 | ||
36 | #define MAX_UDP_CHUNK 1460 | 36 | #define MAX_UDP_CHUNK 1460 |
37 | #define MAX_SKBS 32 | 37 | #define MAX_SKBS 32 |
38 | #define MAX_QUEUE_DEPTH (MAX_SKBS / 2) | ||
39 | 38 | ||
40 | static struct sk_buff_head skb_pool; | 39 | static struct sk_buff_head skb_pool; |
41 | 40 | ||
@@ -76,8 +75,7 @@ static void queue_process(struct work_struct *work) | |||
76 | 75 | ||
77 | local_irq_save(flags); | 76 | local_irq_save(flags); |
78 | __netif_tx_lock(txq, smp_processor_id()); | 77 | __netif_tx_lock(txq, smp_processor_id()); |
79 | if (netif_tx_queue_stopped(txq) || | 78 | if (netif_tx_queue_frozen_or_stopped(txq) || |
80 | netif_tx_queue_frozen(txq) || | ||
81 | ops->ndo_start_xmit(skb, dev) != NETDEV_TX_OK) { | 79 | ops->ndo_start_xmit(skb, dev) != NETDEV_TX_OK) { |
82 | skb_queue_head(&npinfo->txq, skb); | 80 | skb_queue_head(&npinfo->txq, skb); |
83 | __netif_tx_unlock(txq); | 81 | __netif_tx_unlock(txq); |
@@ -925,7 +923,7 @@ void __netpoll_cleanup(struct netpoll *np) | |||
925 | 923 | ||
926 | skb_queue_purge(&npinfo->arp_tx); | 924 | skb_queue_purge(&npinfo->arp_tx); |
927 | skb_queue_purge(&npinfo->txq); | 925 | skb_queue_purge(&npinfo->txq); |
928 | cancel_rearming_delayed_work(&npinfo->tx_work); | 926 | cancel_delayed_work_sync(&npinfo->tx_work); |
929 | 927 | ||
930 | /* clean after last, unfinished work */ | 928 | /* clean after last, unfinished work */ |
931 | __skb_queue_purge(&npinfo->txq); | 929 | __skb_queue_purge(&npinfo->txq); |