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 e585684e59a0..6fcf2bda7cdf 100644
--- a/drivers/net/wireless/orinoco_cs.c
+++ b/drivers/net/wireless/orinoco_cs.c
@@ -378,6 +378,7 @@ static int orinoco_cs_resume(struct pcmcia_device *link)
378 struct orinoco_private *priv = netdev_priv(dev); 378 struct orinoco_private *priv = netdev_priv(dev);
379 struct orinoco_pccard *card = priv->card; 379 struct orinoco_pccard *card = priv->card;
380 int err = 0; 380 int err = 0;
381 unsigned long flags;
381 382
382 if (! test_bit(0, &card->hard_reset_in_progress)) { 383 if (! test_bit(0, &card->hard_reset_in_progress)) {
383 err = orinoco_reinit_firmware(dev); 384 err = orinoco_reinit_firmware(dev);
@@ -387,7 +388,7 @@ static int orinoco_cs_resume(struct pcmcia_device *link)
387 return -EIO; 388 return -EIO;
388 } 389 }
389 390
390 spin_lock(&priv->lock); 391 spin_lock_irqsave(&priv->lock, flags);
391 392
392 netif_device_attach(dev); 393 netif_device_attach(dev);
393 priv->hw_unavailable--; 394 priv->hw_unavailable--;
@@ -399,7 +400,7 @@ static int orinoco_cs_resume(struct pcmcia_device *link)
399 dev->name, err); 400 dev->name, err);
400 } 401 }
401 402
402 spin_unlock(&priv->lock); 403 spin_unlock_irqrestore(&priv->lock, flags);
403 } 404 }
404 405
405 return err; 406 return err;