Commit dfaa4f3e authored by Jeff Garzik's avatar Jeff Garzik

[netdrvr e100] Bug fix: system panic in watchdog when repeating ifdown, rmmod, insmod

Contributed by Scott Feldman @ Intel
parent 5ef85cff
...@@ -3005,8 +3005,13 @@ e100_pci_setup(struct pci_dev *pcid, struct e100_private *bdp) ...@@ -3005,8 +3005,13 @@ e100_pci_setup(struct pci_dev *pcid, struct e100_private *bdp)
void void
e100_isolate_driver(struct e100_private *bdp) e100_isolate_driver(struct e100_private *bdp)
{ {
if (netif_running(bdp->device)) {
e100_dis_intr(bdp); /* Check if interface is up */
/* NOTE: Can't use netif_running(bdp->device) because */
/* dev_close clears __LINK_STATE_START before calling */
/* e100_close (aka dev->stop) */
if (bdp->device->flags & IFF_UP) {
e100_disable_clear_intr(bdp);
del_timer_sync(&bdp->watchdog_timer); del_timer_sync(&bdp->watchdog_timer);
del_timer_sync(&bdp->hwi_timer); del_timer_sync(&bdp->hwi_timer);
/* If in middle of cable diag, */ /* If in middle of cable diag, */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment