[IPoIB] use spin_trylock_irqsave()
authorRoland Dreier <rolandd@cisco.com>
Sat, 29 Oct 2005 20:54:40 +0000 (13:54 -0700)
committerRoland Dreier <rolandd@cisco.com>
Sat, 29 Oct 2005 20:54:40 +0000 (13:54 -0700)
Use spin_trylock_irqsave() in ipoib_start_xmit() instead of
reinventing it out of local_irq_save(), spin_trylock() and
local_irq_restore().

Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/ulp/ipoib/ipoib_main.c

index cd4f42328dbee49fb1d4e50dbe5c79af24e81428..273d5f418a67b3bda6bb2681d47c92534486c0b0 100644 (file)
@@ -551,11 +551,8 @@ static int ipoib_start_xmit(struct sk_buff *skb, struct net_device *dev)
        struct ipoib_neigh *neigh;
        unsigned long flags;
 
-       local_irq_save(flags);
-       if (!spin_trylock(&priv->tx_lock)) {
-               local_irq_restore(flags);
+       if (!spin_trylock_irqsave(&priv->tx_lock, flags))
                return NETDEV_TX_LOCKED;
-       }
 
        /*
         * Check if our queue is stopped.  Since we have the LLTX bit