--- a/devices/e100-2.6.28-ethercat.c Wed Jul 15 12:00:17 2009 +0000
+++ b/devices/e100-2.6.28-ethercat.c Thu Jul 16 07:52:17 2009 +0000
@@ -2266,7 +2266,7 @@
mod_timer(&nic->watchdog, jiffies);
}
if((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
- nic->netdev->name, nic->netdev)))
+ nic->netdev->name, nic->netdev)))
goto err_no_irq;
if (!nic->ecdev) {
netif_wake_queue(nic->netdev);
@@ -2295,8 +2295,8 @@
netif_stop_queue(nic->netdev);
}
e100_hw_reset(nic);
+ free_irq(nic->pdev->irq, nic->netdev);
if (!nic->ecdev) {
- free_irq(nic->pdev->irq, nic->netdev);
del_timer_sync(&nic->watchdog);
netif_carrier_off(nic->netdev);
}