#ifdef VERBOSE_GFAR_ERRORS printk(KERN_WARNING "%s: tx underrun. dropped packet\n", dev->name); #endif 
if (netif_msg_tx_err(priv)) printk(KERN_WARNING "%s: tx underrun. dropped packet\n", dev->name); 
static irqreturn_t gfar_interrupt(int irq, void *dev_id, struct pt_regs *regs){	struct net_device *dev = dev_id;	struct gfar_private *priv = netdev_priv(dev);	/* Save ievent for future reference */	u32 events = gfar_read(&priv->regs->ievent);	/* Clear IEVENT */	gfar_write(&priv->regs->ievent, events);	/* Check for reception */	if ((events & IEVENT_RXF0) || (events & IEVENT_RXB0))		gfar_receive(irq, dev_id, regs);	/* Check for transmit completion */	if ((events & IEVENT_TXF) || (events & IEVENT_TXB))		gfar_transmit(irq, dev_id, regs);	/* Update error statistics */	if (events & IEVENT_TXE) {		priv->stats.tx_errors++;		if (events & IEVENT_LC)			priv->stats.tx_window_errors++;		if (events & IEVENT_CRL)			priv->stats.tx_aborted_errors++;		if (events & IEVENT_XFUN) {#ifdef VERBOSE_GFAR_ERRORS			printk(KERN_WARNING "%s: tx underrun. dropped packet\n",			       dev->name);#endif			priv->stats.tx_dropped++;			priv->extra_stats.tx_underrun++;			/* Reactivate the Tx Queues */			gfar_write(&priv->regs->tstat, TSTAT_CLEAR_THALT);		}	}	if (events & IEVENT_BSY) {		priv->stats.rx_errors++;		priv->extra_stats.rx_bsy++;		gfar_receive(irq, dev_id, regs);#ifndef CONFIG_GFAR_NAPI		/* Clear the halt bit in RSTAT */		gfar_write(&priv->regs->rstat, RSTAT_CLEAR_RHALT);#endif#ifdef VERBOSE_GFAR_ERRORS		printk(KERN_DEBUG "%s: busy error (rhalt: %x)\n", dev->name,		       gfar_read(&priv->regs->rstat));#endif	}	if (events & IEVENT_BABR) {		priv->stats.rx_errors++;		priv->extra_stats.rx_babr++;#ifdef VERBOSE_GFAR_ERRORS		printk(KERN_DEBUG "%s: babbling error\n", dev->name);#endif	}	if (events & IEVENT_EBERR) {		priv->extra_stats.eberr++;#ifdef VERBOSE_GFAR_ERRORS		printk(KERN_DEBUG "%s: EBERR\n", dev->name);#endif	}	if (events & IEVENT_RXC) {#ifdef VERBOSE_GFAR_ERRORS		printk(KERN_DEBUG "%s: control frame\n", dev->name);#endif	}	if (events & IEVENT_BABT) {		priv->extra_stats.tx_babt++;#ifdef VERBOSE_GFAR_ERRORS		printk(KERN_DEBUG "%s: babt error\n", dev->name);#endif	}	return IRQ_HANDLED;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0bbaf069f053957e8d733784e18a2992afd1dd3c/gianfar.c/buggy/drivers/net/gianfar.c