diff options
Diffstat (limited to 'drivers/net/wireless/wavelan_cs.c')
-rw-r--r-- | drivers/net/wireless/wavelan_cs.c | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/drivers/net/wireless/wavelan_cs.c b/drivers/net/wireless/wavelan_cs.c index 696aeb9d8f52..8cabcfe3a654 100644 --- a/drivers/net/wireless/wavelan_cs.c +++ b/drivers/net/wireless/wavelan_cs.c | |||
@@ -4742,19 +4742,12 @@ static int wavelan_suspend(struct pcmcia_device *p_dev) | |||
4742 | /* Stop receiving new messages and wait end of transmission */ | 4742 | /* Stop receiving new messages and wait end of transmission */ |
4743 | wv_ru_stop(dev); | 4743 | wv_ru_stop(dev); |
4744 | 4744 | ||
4745 | if ((link->state & DEV_CONFIG) && (link->open)) | ||
4746 | netif_device_detach(dev); | ||
4747 | |||
4745 | /* Power down the module */ | 4748 | /* Power down the module */ |
4746 | hacr_write(dev->base_addr, HACR_DEFAULT & (~HACR_PWR_STAT)); | 4749 | hacr_write(dev->base_addr, HACR_DEFAULT & (~HACR_PWR_STAT)); |
4747 | 4750 | ||
4748 | /* The card is now suspended */ | ||
4749 | link->state |= DEV_SUSPEND; | ||
4750 | |||
4751 | if(link->state & DEV_CONFIG) | ||
4752 | { | ||
4753 | if(link->open) | ||
4754 | netif_device_detach(dev); | ||
4755 | pcmcia_release_configuration(link->handle); | ||
4756 | } | ||
4757 | |||
4758 | return 0; | 4751 | return 0; |
4759 | } | 4752 | } |
4760 | 4753 | ||
@@ -4764,14 +4757,9 @@ static int wavelan_resume(struct pcmcia_device *p_dev) | |||
4764 | struct net_device * dev = (struct net_device *) link->priv; | 4757 | struct net_device * dev = (struct net_device *) link->priv; |
4765 | 4758 | ||
4766 | link->state &= ~DEV_SUSPEND; | 4759 | link->state &= ~DEV_SUSPEND; |
4767 | if(link->state & DEV_CONFIG) | 4760 | if ((link->state & DEV_CONFIG) && (link->open)) { |
4768 | { | 4761 | wv_hw_reset(dev); |
4769 | pcmcia_request_configuration(link->handle, &link->conf); | 4762 | netif_device_attach(dev); |
4770 | if(link->open) /* If RESET -> True, If RESUME -> False ? */ | ||
4771 | { | ||
4772 | wv_hw_reset(dev); | ||
4773 | netif_device_attach(dev); | ||
4774 | } | ||
4775 | } | 4763 | } |
4776 | 4764 | ||
4777 | return 0; | 4765 | return 0; |