Commit 71329965 authored by Devendra Naga's avatar Devendra Naga Committed by Greg Kroah-Hartman

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: default avatarDevendra Naga <devendra.aaru@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 92adcc80
...@@ -3132,7 +3132,6 @@ static int slic_entry_open(struct net_device *dev) ...@@ -3132,7 +3132,6 @@ static int slic_entry_open(struct net_device *dev)
{ {
struct adapter *adapter = netdev_priv(dev); struct adapter *adapter = netdev_priv(dev);
struct sliccard *card = adapter->card; struct sliccard *card = adapter->card;
u32 locked = 0;
int status; int status;
ASSERT(adapter); ASSERT(adapter);
...@@ -3142,7 +3141,6 @@ static int slic_entry_open(struct net_device *dev) ...@@ -3142,7 +3141,6 @@ static int slic_entry_open(struct net_device *dev)
spin_lock_irqsave(&slic_global.driver_lock.lock, spin_lock_irqsave(&slic_global.driver_lock.lock,
slic_global.driver_lock.flags); slic_global.driver_lock.flags);
locked = 1;
if (!adapter->activated) { if (!adapter->activated) {
card->adapters_activated++; card->adapters_activated++;
slic_global.num_slic_ports_active++; slic_global.num_slic_ports_active++;
...@@ -3156,23 +3154,15 @@ static int slic_entry_open(struct net_device *dev) ...@@ -3156,23 +3154,15 @@ static int slic_entry_open(struct net_device *dev)
slic_global.num_slic_ports_active--; slic_global.num_slic_ports_active--;
adapter->activated = 0; adapter->activated = 0;
} }
if (locked) { goto spin_unlock;
spin_unlock_irqrestore(&slic_global.driver_lock.lock,
slic_global.driver_lock.flags);
locked = 0;
}
return status;
} }
if (!card->master) if (!card->master)
card->master = adapter; card->master = adapter;
if (locked) { spin_unlock:
spin_unlock_irqrestore(&slic_global.driver_lock.lock, spin_unlock_irqrestore(&slic_global.driver_lock.lock,
slic_global.driver_lock.flags); slic_global.driver_lock.flags);
locked = 0; return status;
}
return 0;
} }
static void slic_card_cleanup(struct sliccard *card) static void slic_card_cleanup(struct sliccard *card)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment