aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/orinoco_cs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/orinoco_cs.c')
-rw-r--r--drivers/net/wireless/orinoco_cs.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/orinoco_cs.c b/drivers/net/wireless/orinoco_cs.c
index 9eaa252c2430..65fd054e0172 100644
--- a/drivers/net/wireless/orinoco_cs.c
+++ b/drivers/net/wireless/orinoco_cs.c
@@ -403,6 +403,7 @@ static int orinoco_cs_resume(struct pcmcia_device *link)
403 struct orinoco_private *priv = netdev_priv(dev); 403 struct orinoco_private *priv = netdev_priv(dev);
404 struct orinoco_pccard *card = priv->card; 404 struct orinoco_pccard *card = priv->card;
405 int err = 0; 405 int err = 0;
406 unsigned long flags;
406 407
407 if (! test_bit(0, &card->hard_reset_in_progress)) { 408 if (! test_bit(0, &card->hard_reset_in_progress)) {
408 err = orinoco_reinit_firmware(dev); 409 err = orinoco_reinit_firmware(dev);
@@ -412,7 +413,7 @@ static int orinoco_cs_resume(struct pcmcia_device *link)
412 return -EIO; 413 return -EIO;
413 } 414 }
414 415
415 spin_lock(&priv->lock); 416 spin_lock_irqsave(&priv->lock, flags);
416 417
417 netif_device_attach(dev); 418 netif_device_attach(dev);
418 priv->hw_unavailable--; 419 priv->hw_unavailable--;
@@ -424,7 +425,7 @@ static int orinoco_cs_resume(struct pcmcia_device *link)
424 dev->name, err); 425 dev->name, err);
425 } 426 }
426 427
427 spin_unlock(&priv->lock); 428 spin_unlock_irqrestore(&priv->lock, flags);
428 } 429 }
429 430
430 return err; 431 return err;