projects
/
librecmc
/
librecmc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6d7b5a7
)
fixes dma bug in eth driver, that was caused under high net load. the dma ring was...
author
John Crispin
<john@openwrt.org>
Sun, 25 Oct 2009 14:34:55 +0000
(14:34 +0000)
committer
John Crispin
<john@openwrt.org>
Sun, 25 Oct 2009 14:34:55 +0000
(14:34 +0000)
SVN-Revision: 18149
target/linux/ramips/files/drivers/net/ramips.c
patch
|
blob
|
history
diff --git
a/target/linux/ramips/files/drivers/net/ramips.c
b/target/linux/ramips/files/drivers/net/ramips.c
index 1689f0a18f1dcfa4f5ecbad546a44c2acf674008..e634453bf58eff6685f7433233807452e4bf8493 100644
(file)
--- a/
target/linux/ramips/files/drivers/net/ramips.c
+++ b/
target/linux/ramips/files/drivers/net/ramips.c
@@
-248,6
+248,8
@@
ramips_eth_irq(int irq, void *dev)
struct raeth_priv *priv = netdev_priv(dev);
unsigned long fe_int = ramips_fe_rr(RAMIPS_FE_INT_STATUS);
struct raeth_priv *priv = netdev_priv(dev);
unsigned long fe_int = ramips_fe_rr(RAMIPS_FE_INT_STATUS);
+ ramips_fe_wr(0xFFFFFFFF, RAMIPS_FE_INT_STATUS);
+
if(fe_int & RAMIPS_RX_DLY_INT)
{
ramips_fe_wr(ramips_fe_rr(RAMIPS_FE_INT_ENABLE) & ~(RAMIPS_RX_DLY_INT),
if(fe_int & RAMIPS_RX_DLY_INT)
{
ramips_fe_wr(ramips_fe_rr(RAMIPS_FE_INT_ENABLE) & ~(RAMIPS_RX_DLY_INT),
@@
-255,8
+257,7
@@
ramips_eth_irq(int irq, void *dev)
tasklet_schedule(&priv->rx_tasklet);
}
if(fe_int & RAMIPS_TX_DLY_INT)
tasklet_schedule(&priv->rx_tasklet);
}
if(fe_int & RAMIPS_TX_DLY_INT)
- tasklet_schedule(&priv->tx_housekeeping_tasklet);
- ramips_fe_wr(0xFFFFFFFF, RAMIPS_FE_INT_STATUS);
+ ramips_eth_tx_housekeeping((unsigned long)dev);
return IRQ_HANDLED;
}
return IRQ_HANDLED;
}