aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevendra Naga <devendra.aaru@gmail.com>2012-09-05 15:33:48 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-09-05 11:59:51 -0700
commit71329965273d65d6de1bc34c6b314515d52ae49a (patch)
tree7ebea628fd7a4a9f3915c8b1a4b6b74baa4c75d5
parent92adcc805764f5b5c552741298c079ce2de8757e (diff)
staging: slicoss: clean the spinlock code in slic_entry_open
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>
-rw-r--r--drivers/staging/slicoss/slicoss.c20
1 files changed, 5 insertions, 15 deletions
diff --git a/drivers/staging/slicoss/slicoss.c b/drivers/staging/slicoss/slicoss.c
index 10dcd331795..850eb1064a4 100644
--- a/drivers/staging/slicoss/slicoss.c
+++ b/drivers/staging/slicoss/slicoss.c
@@ -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)