Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 44333
b: refs/heads/master
c: 3640543
h: refs/heads/master
i:
  44331: 49e2364
v: v3
  • Loading branch information
Ingo Molnar authored and Linus Torvalds committed Dec 12, 2006
1 parent 83f97a1 commit 071c1db
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d224a93d91610fc641fbc5b234b32fcb84045a30
refs/heads/master: 3640543df26fd38f31f0c6decc35c07be2a6307c
9 changes: 7 additions & 2 deletions trunk/net/core/netpoll.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ static void queue_process(struct work_struct *work)
struct netpoll_info *npinfo =
container_of(work, struct netpoll_info, tx_work.work);
struct sk_buff *skb;
unsigned long flags;

while ((skb = skb_dequeue(&npinfo->txq))) {
struct net_device *dev = skb->dev;
Expand All @@ -64,15 +65,19 @@ static void queue_process(struct work_struct *work)
continue;
}

netif_tx_lock_bh(dev);
local_irq_save(flags);
netif_tx_lock(dev);
if (netif_queue_stopped(dev) ||
dev->hard_start_xmit(skb, dev) != NETDEV_TX_OK) {
skb_queue_head(&npinfo->txq, skb);
netif_tx_unlock_bh(dev);
netif_tx_unlock(dev);
local_irq_restore(flags);

schedule_delayed_work(&npinfo->tx_work, HZ/10);
return;
}
netif_tx_unlock(dev);
local_irq_restore(flags);
}
}

Expand Down

0 comments on commit 071c1db

Please sign in to comment.