Fixed unprocessed interrupts in e100 driver.
--- a/devices/e100-2.6.20-ethercat.c Tue Nov 18 11:20:30 2008 +0000
+++ b/devices/e100-2.6.20-ethercat.c Wed Nov 19 17:10:04 2008 +0000
@@ -2193,9 +2193,11 @@
e100_start_receiver(nic, NULL);
if (!nic->ecdev) {
mod_timer(&nic->watchdog, jiffies);
- if((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
- nic->netdev->name, nic->netdev)))
- goto err_no_irq;
+ }
+ if((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
+ nic->netdev->name, nic->netdev)))
+ goto err_no_irq;
+ if (!nic->ecdev) {
netif_wake_queue(nic->netdev);
netif_poll_enable(nic->netdev);
/* enable ints _after_ enabling poll, preventing a race between
--- a/devices/e100-2.6.24-ethercat.c Tue Nov 18 11:20:30 2008 +0000
+++ b/devices/e100-2.6.24-ethercat.c Wed Nov 19 17:10:04 2008 +0000
@@ -2202,9 +2202,11 @@
e100_start_receiver(nic, NULL);
if (!nic->ecdev) {
mod_timer(&nic->watchdog, jiffies);
- if((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
- nic->netdev->name, nic->netdev)))
- goto err_no_irq;
+ }
+ if((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
+ nic->netdev->name, nic->netdev)))
+ goto err_no_irq;
+ if (!nic->ecdev) {
netif_wake_queue(nic->netdev);
napi_enable(&nic->napi);
/* enable ints _after_ enabling poll, preventing a race between
--- a/devices/e100-2.6.26-ethercat.c Tue Nov 18 11:20:30 2008 +0000
+++ b/devices/e100-2.6.26-ethercat.c Wed Nov 19 17:10:04 2008 +0000
@@ -2273,9 +2273,11 @@
e100_start_receiver(nic, NULL);
if (!nic->ecdev) {
mod_timer(&nic->watchdog, jiffies);
- if((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
- nic->netdev->name, nic->netdev)))
- goto err_no_irq;
+ }
+ if((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
+ nic->netdev->name, nic->netdev)))
+ goto err_no_irq;
+ if (!nic->ecdev) {
netif_wake_queue(nic->netdev);
napi_enable(&nic->napi);
/* enable ints _after_ enabling poll, preventing a race between