diff options
Diffstat (limited to 'drivers/net/wireless/airo_cs.c')
-rw-r--r-- | drivers/net/wireless/airo_cs.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/net/wireless/airo_cs.c b/drivers/net/wireless/airo_cs.c index 489ef7f3d950..adb90b679d7d 100644 --- a/drivers/net/wireless/airo_cs.c +++ b/drivers/net/wireless/airo_cs.c | |||
@@ -437,11 +437,8 @@ static int airo_suspend(struct pcmcia_device *p_dev) | |||
437 | dev_link_t *link = dev_to_instance(p_dev); | 437 | dev_link_t *link = dev_to_instance(p_dev); |
438 | local_info_t *local = link->priv; | 438 | local_info_t *local = link->priv; |
439 | 439 | ||
440 | link->state |= DEV_SUSPEND; | 440 | if (link->state & DEV_CONFIG) |
441 | if (link->state & DEV_CONFIG) { | ||
442 | netif_device_detach(local->eth_dev); | 441 | netif_device_detach(local->eth_dev); |
443 | pcmcia_release_configuration(link->handle); | ||
444 | } | ||
445 | 442 | ||
446 | return 0; | 443 | return 0; |
447 | } | 444 | } |
@@ -451,9 +448,7 @@ static int airo_resume(struct pcmcia_device *p_dev) | |||
451 | dev_link_t *link = dev_to_instance(p_dev); | 448 | dev_link_t *link = dev_to_instance(p_dev); |
452 | local_info_t *local = link->priv; | 449 | local_info_t *local = link->priv; |
453 | 450 | ||
454 | link->state &= ~DEV_SUSPEND; | 451 | if ((link->state & DEV_CONFIG) && (link->open)) { |
455 | if (link->state & DEV_CONFIG) { | ||
456 | pcmcia_request_configuration(link->handle, &link->conf); | ||
457 | reset_airo_card(local->eth_dev); | 452 | reset_airo_card(local->eth_dev); |
458 | netif_device_attach(local->eth_dev); | 453 | netif_device_attach(local->eth_dev); |
459 | } | 454 | } |