From f0904054f92ffa9473dd98ab7ec00cd9f8a59e9f Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Thu, 16 Jul 2009 07:52:17 +0000 Subject: [PATCH] Fixed IRQ freeing bug in e100 drivers. --- devices/e100-2.6.20-ethercat.c | 4 ++-- devices/e100-2.6.24-ethercat.c | 4 ++-- devices/e100-2.6.26-ethercat.c | 4 ++-- devices/e100-2.6.28-ethercat.c | 4 ++-- devices/e100-2.6.29-ethercat.c | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/devices/e100-2.6.20-ethercat.c b/devices/e100-2.6.20-ethercat.c index 784023d4..a1fbd0f5 100644 --- a/devices/e100-2.6.20-ethercat.c +++ b/devices/e100-2.6.20-ethercat.c @@ -2186,7 +2186,7 @@ static int e100_up(struct nic *nic) 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 @@ static void e100_down(struct nic *nic) 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); } diff --git a/devices/e100-2.6.24-ethercat.c b/devices/e100-2.6.24-ethercat.c index 559a9b22..a6ca74e2 100644 --- a/devices/e100-2.6.24-ethercat.c +++ b/devices/e100-2.6.24-ethercat.c @@ -2195,7 +2195,7 @@ static int e100_up(struct nic *nic) 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 @@ static void e100_down(struct nic *nic) 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); } diff --git a/devices/e100-2.6.26-ethercat.c b/devices/e100-2.6.26-ethercat.c index bb4d6cdb..9b799d06 100644 --- a/devices/e100-2.6.26-ethercat.c +++ b/devices/e100-2.6.26-ethercat.c @@ -2266,7 +2266,7 @@ static int e100_up(struct nic *nic) 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 @@ static void e100_down(struct nic *nic) 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); } diff --git a/devices/e100-2.6.28-ethercat.c b/devices/e100-2.6.28-ethercat.c index 27ebcbd7..f9339dbf 100644 --- a/devices/e100-2.6.28-ethercat.c +++ b/devices/e100-2.6.28-ethercat.c @@ -2266,7 +2266,7 @@ static int e100_up(struct nic *nic) 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 @@ static void e100_down(struct nic *nic) 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); } diff --git a/devices/e100-2.6.29-ethercat.c b/devices/e100-2.6.29-ethercat.c index b8cb7a11..e89cb53a 100644 --- a/devices/e100-2.6.29-ethercat.c +++ b/devices/e100-2.6.29-ethercat.c @@ -2161,7 +2161,7 @@ static int e100_up(struct nic *nic) 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 @@ static void e100_down(struct nic *nic) 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); }