diff options
Diffstat (limited to 'drivers/net/pcmcia/ibmtr_cs.c')
-rw-r--r-- | drivers/net/pcmcia/ibmtr_cs.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/drivers/net/pcmcia/ibmtr_cs.c b/drivers/net/pcmcia/ibmtr_cs.c index 1948a0bc198d..6d7f8f52e175 100644 --- a/drivers/net/pcmcia/ibmtr_cs.c +++ b/drivers/net/pcmcia/ibmtr_cs.c | |||
@@ -367,12 +367,8 @@ static int ibmtr_suspend(struct pcmcia_device *p_dev) | |||
367 | ibmtr_dev_t *info = link->priv; | 367 | ibmtr_dev_t *info = link->priv; |
368 | struct net_device *dev = info->dev; | 368 | struct net_device *dev = info->dev; |
369 | 369 | ||
370 | link->state |= DEV_SUSPEND; | 370 | if ((link->state & DEV_CONFIG) && (link->open)) |
371 | if (link->state & DEV_CONFIG) { | 371 | netif_device_detach(dev); |
372 | if (link->open) | ||
373 | netif_device_detach(dev); | ||
374 | pcmcia_release_configuration(link->handle); | ||
375 | } | ||
376 | 372 | ||
377 | return 0; | 373 | return 0; |
378 | } | 374 | } |
@@ -383,14 +379,10 @@ static int ibmtr_resume(struct pcmcia_device *p_dev) | |||
383 | ibmtr_dev_t *info = link->priv; | 379 | ibmtr_dev_t *info = link->priv; |
384 | struct net_device *dev = info->dev; | 380 | struct net_device *dev = info->dev; |
385 | 381 | ||
386 | link->state &= ~DEV_SUSPEND; | 382 | if ((link->state & DEV_CONFIG) && (link->open)) { |
387 | if (link->state & DEV_CONFIG) { | 383 | ibmtr_probe(dev); /* really? */ |
388 | pcmcia_request_configuration(link->handle, &link->conf); | 384 | netif_device_attach(dev); |
389 | if (link->open) { | 385 | } |
390 | ibmtr_probe(dev); /* really? */ | ||
391 | netif_device_attach(dev); | ||
392 | } | ||
393 | } | ||
394 | 386 | ||
395 | return 0; | 387 | return 0; |
396 | } | 388 | } |