aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorThomas Chou <thomas@wytron.com.tw>2009-10-07 10:16:43 -0400
committerDavid S. Miller <davem@davemloft.net>2009-10-19 00:24:16 -0400
commit50c54a57dfbd392e17f1473717b8e125afcb01a3 (patch)
tree97a8cde6648329e3b4877c477ea89d1c51323b71 /drivers
parent16dd18b0837dee46f1a6b0c01830c5f2b7187266 (diff)
ethoc: clear only pending irqs
This patch fixed the problem of dropped packets due to lost of interrupt requests. We should only clear what was pending at the moment we read the irq source reg. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethoc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethoc.c b/drivers/net/ethoc.c
index 88a1c5223069..590473afb3dc 100644
--- a/drivers/net/ethoc.c
+++ b/drivers/net/ethoc.c
@@ -508,7 +508,7 @@ static irqreturn_t ethoc_interrupt(int irq, void *dev_id)
508 return IRQ_NONE; 508 return IRQ_NONE;
509 } 509 }
510 510
511 ethoc_ack_irq(priv, INT_MASK_ALL); 511 ethoc_ack_irq(priv, pending);
512 512
513 if (pending & INT_MASK_BUSY) { 513 if (pending & INT_MASK_BUSY) {
514 dev_err(&dev->dev, "packet dropped\n"); 514 dev_err(&dev->dev, "packet dropped\n");