Flags = le32_to_cpu(np->tx_ring[i].FlagLen); 
if (np->desc_ver == DESC_VER_1 || np->desc_ver == DESC_VER_2) Flags = le32_to_cpu(np->tx_ring.orig[i].FlagLen); else Flags = le32_to_cpu(np->tx_ring.ex[i].FlagLen); 
static void nv_tx_done(struct net_device *dev){	struct fe_priv *np = get_nvpriv(dev);	u32 Flags;	int i;	while (np->nic_tx != np->next_tx) {		i = np->nic_tx % TX_RING;		Flags = le32_to_cpu(np->tx_ring[i].FlagLen);		dprintk(KERN_DEBUG "%s: nv_tx_done: looking at packet %d, Flags 0x%x.\n",					dev->name, np->nic_tx, Flags);		if (Flags & NV_TX_VALID)			break;		if (np->desc_ver == DESC_VER_1) {			if (Flags & (NV_TX_RETRYERROR|NV_TX_CARRIERLOST|NV_TX_LATECOLLISION|							NV_TX_UNDERFLOW|NV_TX_ERROR)) {				if (Flags & NV_TX_UNDERFLOW)					np->stats.tx_fifo_errors++;				if (Flags & NV_TX_CARRIERLOST)					np->stats.tx_carrier_errors++;				np->stats.tx_errors++;			} else {				np->stats.tx_packets++;				np->stats.tx_bytes += np->tx_skbuff[i]->len;			}		} else {			if (Flags & (NV_TX2_RETRYERROR|NV_TX2_CARRIERLOST|NV_TX2_LATECOLLISION|							NV_TX2_UNDERFLOW|NV_TX2_ERROR)) {				if (Flags & NV_TX2_UNDERFLOW)					np->stats.tx_fifo_errors++;				if (Flags & NV_TX2_CARRIERLOST)					np->stats.tx_carrier_errors++;				np->stats.tx_errors++;			} else {				np->stats.tx_packets++;				np->stats.tx_bytes += np->tx_skbuff[i]->len;			}		}		pci_unmap_single(np->pci_dev, np->tx_dma[i],					np->tx_skbuff[i]->len,					PCI_DMA_TODEVICE);		dev_kfree_skb_irq(np->tx_skbuff[i]);		np->tx_skbuff[i] = NULL;		np->nic_tx++;	}	if (np->next_tx - np->nic_tx < TX_LIMIT_START)		netif_wake_queue(dev);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ee73362cdd7d9b8166424f5f9e3176c629ac5cb2/forcedeth.c/clean/drivers/net/forcedeth.c