From: David S. Miller Date: Tue, 10 Feb 2009 07:22:21 +0000 (-0800) Subject: Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=0ecc103aec454288cbaa5a33d8960ab3467e8a11;p=linux-2.6-omap-h63xx.git Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/gianfar.c --- 0ecc103aec454288cbaa5a33d8960ab3467e8a11 diff --cc drivers/net/gianfar.c index 802a9516ce4,9b12a13a640..a64a4385f5a --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c @@@ -1665,9 -1626,15 +1665,15 @@@ static void gfar_schedule_cleanup(struc spin_lock_irqsave(&priv->txlock, flags); spin_lock(&priv->rxlock); - if (netif_rx_schedule_prep(&priv->napi)) { + if (napi_schedule_prep(&priv->napi)) { gfar_write(&priv->regs->imask, IMASK_RTX_DISABLED); - __netif_rx_schedule(&priv->napi); + __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);