X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fnet%2Fpcmcia%2Fsmc91c92_cs.c;h=49d60d9ca062adb3f62bb7de135f9e554a8a10db;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=7c1bd346e09d1bda27e8b5b489ec438fc0e5a082;hpb=db216c3d5e4c040e557a50f8f5d35d5c415e8c1c;p=linux-2.6.git diff --git a/drivers/net/pcmcia/smc91c92_cs.c b/drivers/net/pcmcia/smc91c92_cs.c index 7c1bd346e..49d60d9ca 100644 --- a/drivers/net/pcmcia/smc91c92_cs.c +++ b/drivers/net/pcmcia/smc91c92_cs.c @@ -411,6 +411,9 @@ static void smc91c92_detach(dev_link_t *link) if (*linkp == NULL) return; + if (link->dev) + unregister_netdev(dev); + if (link->state & DEV_CONFIG) smc91c92_release(link); @@ -419,8 +422,6 @@ static void smc91c92_detach(dev_link_t *link) /* Unlink device structure, free bits */ *linkp = link->next; - if (link->dev) - unregister_netdev(dev); free_netdev(dev); } /* smc91c92_detach */ @@ -1112,10 +1113,8 @@ static int smc91c92_event(event_t event, int priority, switch (event) { case CS_EVENT_CARD_REMOVAL: link->state &= ~DEV_PRESENT; - if (link->state & DEV_CONFIG) { + if (link->state & DEV_CONFIG) netif_device_detach(dev); - smc91c92_release(link); - } break; case CS_EVENT_CARD_INSERTION: link->state |= DEV_PRESENT | DEV_CONFIG_PENDING; @@ -1273,7 +1272,7 @@ static int smc_open(struct net_device *dev) link->open++; netif_start_queue(dev); - smc->saved_skb = 0; + smc->saved_skb = NULL; smc->packets_waiting = 0; smc_reset(dev);