diff options
Diffstat (limited to 'drivers/net/ethernet/3com/3c59x.c')
| -rw-r--r-- | drivers/net/ethernet/3com/3c59x.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/3com/3c59x.c b/drivers/net/ethernet/3com/3c59x.c index 41095ebad97f..2d1ce3c5d0dd 100644 --- a/drivers/net/ethernet/3com/3c59x.c +++ b/drivers/net/ethernet/3com/3c59x.c | |||
| @@ -2382,6 +2382,7 @@ boomerang_interrupt(int irq, void *dev_id) | |||
| 2382 | void __iomem *ioaddr; | 2382 | void __iomem *ioaddr; |
| 2383 | int status; | 2383 | int status; |
| 2384 | int work_done = max_interrupt_work; | 2384 | int work_done = max_interrupt_work; |
| 2385 | int handled = 0; | ||
| 2385 | 2386 | ||
| 2386 | ioaddr = vp->ioaddr; | 2387 | ioaddr = vp->ioaddr; |
| 2387 | 2388 | ||
| @@ -2400,6 +2401,7 @@ boomerang_interrupt(int irq, void *dev_id) | |||
| 2400 | 2401 | ||
| 2401 | if ((status & IntLatch) == 0) | 2402 | if ((status & IntLatch) == 0) |
| 2402 | goto handler_exit; /* No interrupt: shared IRQs can cause this */ | 2403 | goto handler_exit; /* No interrupt: shared IRQs can cause this */ |
| 2404 | handled = 1; | ||
| 2403 | 2405 | ||
| 2404 | if (status == 0xffff) { /* h/w no longer present (hotplug)? */ | 2406 | if (status == 0xffff) { /* h/w no longer present (hotplug)? */ |
| 2405 | if (vortex_debug > 1) | 2407 | if (vortex_debug > 1) |
| @@ -2501,7 +2503,7 @@ boomerang_interrupt(int irq, void *dev_id) | |||
| 2501 | handler_exit: | 2503 | handler_exit: |
| 2502 | vp->handling_irq = 0; | 2504 | vp->handling_irq = 0; |
| 2503 | spin_unlock(&vp->lock); | 2505 | spin_unlock(&vp->lock); |
| 2504 | return IRQ_HANDLED; | 2506 | return IRQ_RETVAL(handled); |
| 2505 | } | 2507 | } |
| 2506 | 2508 | ||
| 2507 | static int vortex_rx(struct net_device *dev) | 2509 | static int vortex_rx(struct net_device *dev) |
