Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 78963
b: refs/heads/master
c: bd5a934
h: refs/heads/master
i:
  78961: 3644fdb
  78959: db51535
v: v3
  • Loading branch information
Komuro authored and David S. Miller committed Jan 28, 2008
1 parent 5af9bd5 commit d562137
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 12 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: 2eab17ab880ad8d570d27517e6c9d9fe74adc214
refs/heads/master: bd5a93462093305a9ea7abd888a16c8c83e4bdc2
16 changes: 5 additions & 11 deletions trunk/drivers/net/pcmcia/axnet_cs.c
Original file line number Diff line number Diff line change
Expand Up @@ -1040,15 +1040,13 @@ void ei_tx_timeout(struct net_device *dev)

/* Ugly but a reset can be slow, yet must be protected */

disable_irq_nosync(dev->irq);
spin_lock(&ei_local->page_lock);
spin_lock_irqsave(&ei_local->page_lock, flags);

/* Try to restart the card. Perhaps the user has fixed something. */
ei_reset_8390(dev);
AX88190_init(dev, 1);

spin_unlock(&ei_local->page_lock);
enable_irq(dev->irq);
spin_unlock_irqrestore(&ei_local->page_lock, flags);
netif_wake_queue(dev);
}

Expand Down Expand Up @@ -1085,9 +1083,7 @@ static int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)
* Slow phase with lock held.
*/

disable_irq_nosync(dev->irq);

spin_lock(&ei_local->page_lock);
spin_lock_irqsave(&ei_local->page_lock, flags);

ei_local->irqlock = 1;

Expand Down Expand Up @@ -1125,8 +1121,7 @@ static int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)
ei_local->irqlock = 0;
netif_stop_queue(dev);
outb_p(ENISR_ALL, e8390_base + EN0_IMR);
spin_unlock(&ei_local->page_lock);
enable_irq(dev->irq);
spin_unlock_irqrestore(&ei_local->page_lock, flags);
ei_local->stat.tx_errors++;
return 1;
}
Expand Down Expand Up @@ -1172,8 +1167,7 @@ static int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)
ei_local->irqlock = 0;
outb_p(ENISR_ALL, e8390_base + EN0_IMR);

spin_unlock(&ei_local->page_lock);
enable_irq(dev->irq);
spin_unlock_irqrestore(&ei_local->page_lock, flags);

dev_kfree_skb (skb);
ei_local->stat.tx_bytes += send_length;
Expand Down

0 comments on commit d562137

Please sign in to comment.