diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/greth.c | 9 | ||||
-rw-r--r-- | drivers/net/greth.h | 2 |
2 files changed, 7 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() */ |
diff --git a/drivers/net/greth.h b/drivers/net/greth.h index 03ad903cd676..be0f2062bd14 100644 --- a/drivers/net/greth.h +++ b/drivers/net/greth.h | |||
@@ -23,6 +23,7 @@ | |||
23 | #define GRETH_BD_LEN 0x7FF | 23 | #define GRETH_BD_LEN 0x7FF |
24 | 24 | ||
25 | #define GRETH_TXEN 0x1 | 25 | #define GRETH_TXEN 0x1 |
26 | #define GRETH_INT_TE 0x2 | ||
26 | #define GRETH_INT_TX 0x8 | 27 | #define GRETH_INT_TX 0x8 |
27 | #define GRETH_TXI 0x4 | 28 | #define GRETH_TXI 0x4 |
28 | #define GRETH_TXBD_STATUS 0x0001C000 | 29 | #define GRETH_TXBD_STATUS 0x0001C000 |
@@ -35,6 +36,7 @@ | |||
35 | #define GRETH_TXBD_ERR_UE 0x4000 | 36 | #define GRETH_TXBD_ERR_UE 0x4000 |
36 | #define GRETH_TXBD_ERR_AL 0x8000 | 37 | #define GRETH_TXBD_ERR_AL 0x8000 |
37 | 38 | ||
39 | #define GRETH_INT_RE 0x1 | ||
38 | #define GRETH_INT_RX 0x4 | 40 | #define GRETH_INT_RX 0x4 |
39 | #define GRETH_RXEN 0x2 | 41 | #define GRETH_RXEN 0x2 |
40 | #define GRETH_RXI 0x8 | 42 | #define GRETH_RXI 0x8 |