staging: slicoss: clean the spinlock code in slic_entry_open
authorDevendra Naga <devendra.aaru@gmail.com>
Wed, 5 Sep 2012 10:03:48 +0000 (15:33 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Sep 2012 18:59:51 +0000 (11:59 -0700)
the locked variable is used for checking whether the function
acquired lock, then unlock. actually with out this we
can achieve the same lock and unlock senario, remove the locked
variable and also cleanup the code around.

Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/slicoss/slicoss.c

index 10dcd331795bbe72993cb3059986df7616b0f0d6..850eb1064a4931bd4495f50a46e104dde1f331da 100644 (file)
@@ -3132,7 +3132,6 @@ static int slic_entry_open(struct net_device *dev)
 {
        struct adapter *adapter = netdev_priv(dev);
        struct sliccard *card = adapter->card;
-       u32 locked = 0;
        int status;
 
        ASSERT(adapter);
@@ -3142,7 +3141,6 @@ static int slic_entry_open(struct net_device *dev)
 
        spin_lock_irqsave(&slic_global.driver_lock.lock,
                                slic_global.driver_lock.flags);
-       locked = 1;
        if (!adapter->activated) {
                card->adapters_activated++;
                slic_global.num_slic_ports_active++;
@@ -3156,23 +3154,15 @@ static int slic_entry_open(struct net_device *dev)
                        slic_global.num_slic_ports_active--;
                        adapter->activated = 0;
                }
-               if (locked) {
-                       spin_unlock_irqrestore(&slic_global.driver_lock.lock,
-                                               slic_global.driver_lock.flags);
-                       locked = 0;
-               }
-               return status;
+               goto spin_unlock;
        }
        if (!card->master)
                card->master = adapter;
 
-       if (locked) {
-               spin_unlock_irqrestore(&slic_global.driver_lock.lock,
-                                       slic_global.driver_lock.flags);
-               locked = 0;
-       }
-
-       return 0;
+spin_unlock:
+       spin_unlock_irqrestore(&slic_global.driver_lock.lock,
+                              slic_global.driver_lock.flags);
+       return status;
 }
 
 static void slic_card_cleanup(struct sliccard *card)