/* Just in case we need to wake the ring param changer */ priv->rxclean = 1;  
irqreturn_t gfar_receive(int irq, void *dev_id, struct pt_regs *regs){	struct net_device *dev = (struct net_device *) dev_id;	struct gfar_private *priv = netdev_priv(dev);#ifdef CONFIG_GFAR_NAPI	u32 tempval;#endif	/* Clear IEVENT, so rx interrupt isn't called again	 * because of this interrupt */	gfar_write(&priv->regs->ievent, IEVENT_RX_MASK);	/* support NAPI */#ifdef CONFIG_GFAR_NAPI	if (netif_rx_schedule_prep(dev)) {		tempval = gfar_read(&priv->regs->imask);		tempval &= IMASK_RX_DISABLED;		gfar_write(&priv->regs->imask, tempval);		__netif_rx_schedule(dev);	} else {#ifdef VERBOSE_GFAR_ERRORS		printk(KERN_DEBUG "%s: receive called twice (%x)[%x]\n",		       dev->name, gfar_read(&priv->regs->ievent),		       gfar_read(&priv->regs->imask));#endif	}#else	spin_lock(&priv->lock);	gfar_clean_rx_ring(dev, priv->rx_ring_size);	/* If we are coalescing interrupts, update the timer */	/* Otherwise, clear it */	if (priv->rxcoalescing)		gfar_write(&priv->regs->rxic,			   mk_ic_value(priv->rxcount, priv->rxtime));	else		gfar_write(&priv->regs->rxic, 0);	/* Just in case we need to wake the ring param changer */	priv->rxclean = 1;	spin_unlock(&priv->lock);#endif	return IRQ_HANDLED;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0bbaf069f053957e8d733784e18a2992afd1dd3c/gianfar.c/buggy/drivers/net/gianfar.c