diff options
Diffstat (limited to 'drivers/net/gianfar.c')
-rw-r--r-- | drivers/net/gianfar.c | 6 |
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) | |||
1668 | if (napi_schedule_prep(&priv->napi)) { | 1668 | if (napi_schedule_prep(&priv->napi)) { |
1669 | gfar_write(&priv->regs->imask, IMASK_RTX_DISABLED); | 1669 | gfar_write(&priv->regs->imask, IMASK_RTX_DISABLED); |
1670 | __napi_schedule(&priv->napi); | 1670 | __napi_schedule(&priv->napi); |
1671 | } else { | ||
1672 | /* | ||
1673 | * Clear IEVENT, so interrupts aren't called again | ||
1674 | * because of the packets that have already arrived. | ||
1675 | */ | ||
1676 | gfar_write(&priv->regs->ievent, IEVENT_RTX_MASK); | ||
1671 | } | 1677 | } |
1672 | 1678 | ||
1673 | spin_unlock(&priv->rxlock); | 1679 | spin_unlock(&priv->rxlock); |