diff options
author | Ingo Molnar <mingo@elte.hu> | 2007-07-31 19:07:02 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-08-07 17:18:32 -0400 |
commit | 5845b677cf7f64a0f104609e1dfe02a439f69f71 (patch) | |
tree | c6fba91336e8ed72016e1044771f328511886914 /drivers/net | |
parent | 092ed997c0c324a2e5e839da9f49453bb5227703 (diff) |
atl1: use spin_trylock_irqsave()
use the simpler spin_trylock_irqsave() API to get the adapter lock.
[ this is also a fix for -rt where adapter->lock is a sleeping lock. ]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Jay Cliburn <jacliburn@bellsouth.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/atl1/atl1_main.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/atl1/atl1_main.c b/drivers/net/atl1/atl1_main.c index 56f6389a300..3c1984ecf36 100644 --- a/drivers/net/atl1/atl1_main.c +++ b/drivers/net/atl1/atl1_main.c @@ -1704,10 +1704,8 @@ static int atl1_xmit_frame(struct sk_buff *skb, struct net_device *netdev) } } - local_irq_save(flags); - if (!spin_trylock(&adapter->lock)) { + if (!spin_trylock_irqsave(&adapter->lock, flags)) { /* Can't get lock - tell upper layer to requeue */ - local_irq_restore(flags); dev_printk(KERN_DEBUG, &adapter->pdev->dev, "tx locked\n"); return NETDEV_TX_LOCKED; } |