dev_kfree_skb(cur->skbuff); /* or dev_kfree_skb_irq(cur->skbuff); ? */ 
dev_kfree_skb_any(cur->skbuff); 
static void reset_tx_descriptors(struct net_device *dev){	struct netdev_private *np = netdev_priv(dev);	struct fealnx_desc *cur;	int i;	/* initialize tx variables */	np->cur_tx = &np->tx_ring[0];	np->cur_tx_copy = &np->tx_ring[0];	np->really_tx_count = 0;	np->free_tx_count = TX_RING_SIZE;	for (i = 0; i < TX_RING_SIZE; i++) {		cur = &np->tx_ring[i];		if (cur->skbuff) {			pci_unmap_single(np->pci_dev, cur->buffer,				cur->skbuff->len, PCI_DMA_TODEVICE);			dev_kfree_skb(cur->skbuff);			/* or dev_kfree_skb_irq(cur->skbuff); ? */			cur->skbuff = NULL;		}		cur->status = 0;		cur->control = 0;	/* needed? */		/* probably not needed. We do it for purely paranoid reasons */		cur->next_desc = np->tx_ring_dma +			(i + 1)*sizeof(struct fealnx_desc);		cur->next_desc_logical = &np->tx_ring[i + 1];	}	/* for the last tx descriptor */	np->tx_ring[TX_RING_SIZE - 1].next_desc = np->tx_ring_dma;	np->tx_ring[TX_RING_SIZE - 1].next_desc_logical = &np->tx_ring[0];}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/400de2c0c4f4a2cc2e0270353e7eb512c1899a0c/fealnx.c/clean/drivers/net/fealnx.c