Fixed IRQ freeing bug in e100 drivers.
authorFlorian Pose <fp@igh-essen.com>
Thu, 16 Jul 2009 07:52:17 +0000
changeset 1506 41ca84fb6bb2
parent 1505 da637f7e4e3a
child 1507 68e89abadd19
Fixed IRQ freeing bug in e100 drivers.
devices/e100-2.6.20-ethercat.c
devices/e100-2.6.24-ethercat.c
devices/e100-2.6.26-ethercat.c
devices/e100-2.6.28-ethercat.c
devices/e100-2.6.29-ethercat.c
--- a/devices/e100-2.6.20-ethercat.c	Wed Jul 15 12:00:17 2009 +0000
+++ b/devices/e100-2.6.20-ethercat.c	Thu Jul 16 07:52:17 2009 +0000
@@ -2186,7 +2186,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);
@@ -2215,8 +2215,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);
 	}
--- a/devices/e100-2.6.24-ethercat.c	Wed Jul 15 12:00:17 2009 +0000
+++ b/devices/e100-2.6.24-ethercat.c	Thu Jul 16 07:52:17 2009 +0000
@@ -2195,7 +2195,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);
@@ -2224,8 +2224,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);
 	}
--- a/devices/e100-2.6.26-ethercat.c	Wed Jul 15 12:00:17 2009 +0000
+++ b/devices/e100-2.6.26-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);
 	}
--- 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);
 	}
--- a/devices/e100-2.6.29-ethercat.c	Wed Jul 15 12:00:17 2009 +0000
+++ b/devices/e100-2.6.29-ethercat.c	Thu Jul 16 07:52:17 2009 +0000
@@ -2161,7 +2161,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);
@@ -2190,8 +2190,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);
 	}