patch-2.4.0-test7 linux/drivers/net/pcmcia/xircom_tulip_cb.c

Next file: linux/drivers/net/pppoe.c
Previous file: linux/drivers/net/pcmcia/Config.in
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test6/linux/drivers/net/pcmcia/xircom_tulip_cb.c linux/drivers/net/pcmcia/xircom_tulip_cb.c
@@ -2714,6 +2714,8 @@
 	long ioaddr = dev->base_addr;
 	struct tulip_private *tp = (struct tulip_private *)dev->priv;
 
+	del_timer_sync(&tp->timer);
+
 	/* Disable interrupts by clearing the interrupt mask. */
 	outl(0x00000000, ioaddr + CSR7);
 	/* Stop the chip's Tx and Rx processes. */
@@ -2739,12 +2741,12 @@
 		printk(KERN_DEBUG "%s: Shutting down ethercard, status was %2.2x.\n",
 			   dev->name, inl(ioaddr + CSR5));
 
+	del_timer_sync(&tp->timer);
+
 	netif_stop_queue(dev);
 
 	if (netif_device_present(dev))
 		tulip_down(dev);
-
-	del_timer(&tp->timer);
 
 	free_irq(dev->irq, dev);
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)