X-Git-Url: http://git.rot13.org/?p=powerpc.git;a=blobdiff_plain;f=drivers%2Fnet%2Fpcmcia%2Fibmtr_cs.c;h=4ecb8ca5a992ec318cfd9c58cbc21f116d56287c;hp=1060154ae750279138d8bd9414a3049beba5a369;hb=5bebf82fff53a96f330c0879ffe870bdf3aaeab6;hpb=5b982c5bb7db5cfbc15236d9d45cec32e5472ed5 diff --git a/drivers/net/pcmcia/ibmtr_cs.c b/drivers/net/pcmcia/ibmtr_cs.c index 1060154ae7..4ecb8ca5a9 100644 --- a/drivers/net/pcmcia/ibmtr_cs.c +++ b/drivers/net/pcmcia/ibmtr_cs.c @@ -189,16 +189,20 @@ static void ibmtr_detach(struct pcmcia_device *link) { struct ibmtr_dev_t *info = link->priv; struct net_device *dev = info->dev; + struct tok_info *ti = netdev_priv(dev); DEBUG(0, "ibmtr_detach(0x%p)\n", link); + + /* + * When the card removal interrupt hits tok_interrupt(), + * bail out early, so we don't crash the machine + */ + ti->sram_phys |= 1; if (link->dev_node) unregister_netdev(dev); - - { - struct tok_info *ti = netdev_priv(dev); - del_timer_sync(&(ti->tr_timer)); - } + + del_timer_sync(&(ti->tr_timer)); ibmtr_release(link);