# HG changeset patch # User Florian Pose # Date 1227114604 0 # Node ID d01d9cce8b59b3c7972f785ede463709a0f3280c # Parent 26b4f94cfdfb077945c575cadb0c9809e2e91241 Fixed unprocessed interrupts in e100 driver. diff -r 26b4f94cfdfb -r d01d9cce8b59 devices/e100-2.6.20-ethercat.c --- 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 diff -r 26b4f94cfdfb -r d01d9cce8b59 devices/e100-2.6.24-ethercat.c --- 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 diff -r 26b4f94cfdfb -r d01d9cce8b59 devices/e100-2.6.26-ethercat.c --- 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