Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 155461
b: refs/heads/master
c: 79fbe13
h: refs/heads/master
i:
  155459: 9d54f83
v: v3
  • Loading branch information
Dongdong Deng authored and David S. Miller committed Jul 14, 2009
1 parent b3f49de commit 81d1d9a
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 6 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: bc23283c7bc90958927abe26eedc562701743a88
refs/heads/master: 79fbe134832ebb70a49d8802cfeb2401dc35bb38
7 changes: 4 additions & 3 deletions trunk/drivers/net/cs89x0.c
Original file line number Diff line number Diff line change
Expand Up @@ -1524,6 +1524,7 @@ static void net_timeout(struct net_device *dev)
static int net_send_packet(struct sk_buff *skb, struct net_device *dev)
{
struct net_local *lp = netdev_priv(dev);
unsigned long flags;

if (net_debug > 3) {
printk("%s: sent %d byte packet of type %x\n",
Expand All @@ -1535,7 +1536,7 @@ static int net_send_packet(struct sk_buff *skb, struct net_device *dev)
ask the chip to start transmitting before the
whole packet has been completely uploaded. */

spin_lock_irq(&lp->lock);
spin_lock_irqsave(&lp->lock, flags);
netif_stop_queue(dev);

/* initiate a transmit sequence */
Expand All @@ -1549,13 +1550,13 @@ static int net_send_packet(struct sk_buff *skb, struct net_device *dev)
* we're waiting for TxOk, so return 1 and requeue this packet.
*/

spin_unlock_irq(&lp->lock);
spin_unlock_irqrestore(&lp->lock, flags);
if (net_debug) printk("cs89x0: Tx buffer not free!\n");
return NETDEV_TX_BUSY;
}
/* Write the contents of the packet */
writewords(dev->base_addr, TX_FRAME_PORT,skb->data,(skb->len+1) >>1);
spin_unlock_irq(&lp->lock);
spin_unlock_irqrestore(&lp->lock, flags);
lp->stats.tx_bytes += skb->len;
dev->trans_start = jiffies;
dev_kfree_skb (skb);
Expand Down
5 changes: 3 additions & 2 deletions trunk/drivers/net/isa-skeleton.c
Original file line number Diff line number Diff line change
Expand Up @@ -430,7 +430,8 @@ static int net_send_packet(struct sk_buff *skb, struct net_device *dev)
* hardware interrupt handler. Queue flow control is
* thus managed under this lock as well.
*/
spin_lock_irq(&np->lock);
unsigned long flags;
spin_lock_irqsave(&np->lock, flags);

add_to_tx_ring(np, skb, length);
dev->trans_start = jiffies;
Expand All @@ -446,7 +447,7 @@ static int net_send_packet(struct sk_buff *skb, struct net_device *dev)
* is when the transmit statistics are updated.
*/

spin_unlock_irq(&np->lock);
spin_unlock_irqrestore(&np->lock, flags);
#else
/* This is the case for older hardware which takes
* a single transmit buffer at a time, and it is
Expand Down

0 comments on commit 81d1d9a

Please sign in to comment.