diff options
Diffstat (limited to 'drivers/net/greth.c')
-rw-r--r-- | drivers/net/greth.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/greth.c b/drivers/net/greth.c index e48d18216cbe..b888abe6cd21 100644 --- a/drivers/net/greth.c +++ b/drivers/net/greth.c | |||
@@ -586,12 +586,13 @@ static irqreturn_t greth_interrupt(int irq, void *dev_id) | |||
586 | status = GRETH_REGLOAD(greth->regs->status); | 586 | status = GRETH_REGLOAD(greth->regs->status); |
587 | 587 | ||
588 | /* Handle rx and tx interrupts through poll */ | 588 | /* Handle rx and tx interrupts through poll */ |
589 | if (status & (GRETH_INT_RX | GRETH_INT_TX)) { | 589 | if (status & (GRETH_INT_RE | GRETH_INT_RX | |
590 | GRETH_INT_TE | GRETH_INT_TX)) { | ||
590 | 591 | ||
591 | /* Clear interrupt status */ | 592 | /* Clear interrupt status */ |
592 | GRETH_REGORIN(greth->regs->status, | 593 | GRETH_REGSAVE(greth->regs->status, |
593 | status & (GRETH_INT_RX | GRETH_INT_TX)); | 594 | status & (GRETH_INT_RE | GRETH_INT_RX | |
594 | 595 | GRETH_INT_TE | GRETH_INT_TX)); | |
595 | retval = IRQ_HANDLED; | 596 | retval = IRQ_HANDLED; |
596 | 597 | ||
597 | /* Disable interrupts and schedule poll() */ | 598 | /* Disable interrupts and schedule poll() */ |