diff --git a/drivers/staging/slicoss/slicoss.c b/drivers/staging/slicoss/slicoss.c index 10dcd331795b..850eb1064a49 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)