diff options
author | Thomas Chou <thomas@wytron.com.tw> | 2009-10-07 14:16:43 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-10-18 21:24:16 -0700 |
commit | 50c54a57dfbd392e17f1473717b8e125afcb01a3 (patch) | |
tree | 97a8cde6648329e3b4877c477ea89d1c51323b71 | |
parent | 16dd18b0837dee46f1a6b0c01830c5f2b7187266 (diff) | |
download | linux-3.10-50c54a57dfbd392e17f1473717b8e125afcb01a3.tar.gz linux-3.10-50c54a57dfbd392e17f1473717b8e125afcb01a3.tar.bz2 linux-3.10-50c54a57dfbd392e17f1473717b8e125afcb01a3.zip |
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>
-rw-r--r-- | drivers/net/ethoc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethoc.c b/drivers/net/ethoc.c index 88a1c522306..590473afb3d 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) return IRQ_NONE; } - ethoc_ack_irq(priv, INT_MASK_ALL); + ethoc_ack_irq(priv, pending); if (pending & INT_MASK_BUSY) { dev_err(&dev->dev, "packet dropped\n"); |