static void uli526x_free_tx_pkt(struct DEVICE *dev, struct uli526x_board_info * db) 
static void uli526x_free_tx_pkt(struct net_device *dev, struct uli526x_board_info * db) 
static void uli526x_free_tx_pkt(struct DEVICE *dev, struct uli526x_board_info * db){	struct tx_desc *txptr;//	unsigned long ioaddr = dev->base_addr;	u32 tdes0;	txptr = db->tx_remove_ptr;	while(db->tx_packet_cnt) {		tdes0 = le32_to_cpu(txptr->tdes0);		/* printk(DRV_NAME ": tdes0=%x\n", tdes0); */		if (tdes0 & 0x80000000)			break;		/* A packet sent completed */		db->tx_packet_cnt--;		db->stats.tx_packets++;		/* Transmit statistic counter */		if ( tdes0 != 0x7fffffff ) {			/* printk(DRV_NAME ": tdes0=%x\n", tdes0); */			db->stats.collisions += (tdes0 >> 3) & 0xf;			db->stats.tx_bytes += le32_to_cpu(txptr->tdes1) & 0x7ff;			if (tdes0 & TDES0_ERR_MASK) {				db->stats.tx_errors++;				if (tdes0 & 0x0002) {	/* UnderRun */					db->tx_fifo_underrun++;					if ( !(db->cr6_data & CR6_SFT) ) {						db->cr6_data = db->cr6_data | CR6_SFT;						update_cr6(db->cr6_data, db->ioaddr);					}				}				if (tdes0 & 0x0100)					db->tx_excessive_collision++;				if (tdes0 & 0x0200)					db->tx_late_collision++;				if (tdes0 & 0x0400)					db->tx_no_carrier++;				if (tdes0 & 0x0800)					db->tx_loss_carrier++;				if (tdes0 & 0x4000)					db->tx_jabber_timeout++;			}		}    		txptr = txptr->next_tx_desc;	}/* End of while */	/* Update TX remove pointer to next */	db->tx_remove_ptr = txptr;	/* Resource available check */	if ( db->tx_packet_cnt < TX_WAKE_DESC_CNT )		netif_wake_queue(dev);	/* Active upper layer, send again */}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/945a787675cc5ba362f5d4ce135d2a2c20be5985/uli526x.c/buggy/drivers/net/tulip/uli526x.c