NET: sungem, use spin_trylock_irqsave
authorJiri Slaby <jirislaby@gmail.com>
Wed, 4 Nov 2009 16:37:31 +0000 (08:37 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 Nov 2009 16:37:31 +0000 (08:37 -0800)
Use spin_trylock_irqsave instead of open-coded
local_irq_save+spin_trylock.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/sungem.c

index 305ec3d783dba30dd396b2fcfb6df9ce12913384..d6f4faf5bbcb2f726cc41bad987fdb19ae7efcd7 100644 (file)
@@ -1033,10 +1033,8 @@ static netdev_tx_t gem_start_xmit(struct sk_buff *skb,
                        (csum_stuff_off << 21));
        }
 
-       local_irq_save(flags);
-       if (!spin_trylock(&gp->tx_lock)) {
+       if (!spin_trylock_irqsave(&gp->tx_lock, flags)) {
                /* Tell upper layer to requeue */
-               local_irq_restore(flags);
                return NETDEV_TX_LOCKED;
        }
        /* We raced with gem_do_stop() */