summaryrefslogtreecommitdiff
path: root/drivers/net/gianfar.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-02-09 23:22:21 -0800
committerDavid S. Miller <davem@davemloft.net>2009-02-09 23:22:21 -0800
commit0ecc103aec454288cbaa5a33d8960ab3467e8a11 (patch)
treed911ae41c303a575913b8aca2a49f4acaaf0fc93 /drivers/net/gianfar.c
parent0012985d184b7b9d4513eacd35771715471e06ef (diff)
parent4906f9985e310fc01f956256b0d58ac28b0dcb19 (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/gianfar.c
Diffstat (limited to 'drivers/net/gianfar.c')
-rw-r--r--drivers/net/gianfar.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
index 802a9516ce41..a64a4385f5a5 100644
--- a/drivers/net/gianfar.c
+++ b/drivers/net/gianfar.c
@@ -1668,6 +1668,12 @@ static void gfar_schedule_cleanup(struct net_device *dev)
if (napi_schedule_prep(&priv->napi)) {
gfar_write(&priv->regs->imask, IMASK_RTX_DISABLED);
__napi_schedule(&priv->napi);
+ } else {
+ /*
+ * Clear IEVENT, so interrupts aren't called again
+ * because of the packets that have already arrived.
+ */
+ gfar_write(&priv->regs->ievent, IEVENT_RTX_MASK);
}
spin_unlock(&priv->rxlock);