diff options
author | David S. Miller <davem@davemloft.net> | 2009-09-02 03:32:56 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-09-02 03:32:56 -0400 |
commit | 6cdee2f96a97f6da26bd3759c3f8823332fbb438 (patch) | |
tree | ec79086f05ffc3bdf1aecc37e108ccfc3a95450d /drivers/net/via-rhine.c | |
parent | 0625491493d9000e4556bf566d205c28c8e7dc4e (diff) | |
parent | 2fbd3da3877ad8d923b055e5996f80b4d4a6daf4 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
drivers/net/yellowfin.c
Diffstat (limited to 'drivers/net/via-rhine.c')
-rw-r--r-- | drivers/net/via-rhine.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c index 081402cb05fd..1fd70583be44 100644 --- a/drivers/net/via-rhine.c +++ b/drivers/net/via-rhine.c | |||
@@ -1220,6 +1220,7 @@ static netdev_tx_t rhine_start_tx(struct sk_buff *skb, | |||
1220 | struct rhine_private *rp = netdev_priv(dev); | 1220 | struct rhine_private *rp = netdev_priv(dev); |
1221 | void __iomem *ioaddr = rp->base; | 1221 | void __iomem *ioaddr = rp->base; |
1222 | unsigned entry; | 1222 | unsigned entry; |
1223 | unsigned long flags; | ||
1223 | 1224 | ||
1224 | /* Caution: the write order is important here, set the field | 1225 | /* Caution: the write order is important here, set the field |
1225 | with the "ownership" bits last. */ | 1226 | with the "ownership" bits last. */ |
@@ -1263,7 +1264,7 @@ static netdev_tx_t rhine_start_tx(struct sk_buff *skb, | |||
1263 | cpu_to_le32(TXDESC | (skb->len >= ETH_ZLEN ? skb->len : ETH_ZLEN)); | 1264 | cpu_to_le32(TXDESC | (skb->len >= ETH_ZLEN ? skb->len : ETH_ZLEN)); |
1264 | 1265 | ||
1265 | /* lock eth irq */ | 1266 | /* lock eth irq */ |
1266 | spin_lock_irq(&rp->lock); | 1267 | spin_lock_irqsave(&rp->lock, flags); |
1267 | wmb(); | 1268 | wmb(); |
1268 | rp->tx_ring[entry].tx_status = cpu_to_le32(DescOwn); | 1269 | rp->tx_ring[entry].tx_status = cpu_to_le32(DescOwn); |
1269 | wmb(); | 1270 | wmb(); |
@@ -1282,7 +1283,7 @@ static netdev_tx_t rhine_start_tx(struct sk_buff *skb, | |||
1282 | 1283 | ||
1283 | dev->trans_start = jiffies; | 1284 | dev->trans_start = jiffies; |
1284 | 1285 | ||
1285 | spin_unlock_irq(&rp->lock); | 1286 | spin_unlock_irqrestore(&rp->lock, flags); |
1286 | 1287 | ||
1287 | if (debug > 4) { | 1288 | if (debug > 4) { |
1288 | printk(KERN_DEBUG "%s: Transmit frame #%d queued in slot %d.\n", | 1289 | printk(KERN_DEBUG "%s: Transmit frame #%d queued in slot %d.\n", |