dev_kfree_skb_irq(skb); 
dev_kfree_skb(skb); 
static void tg3_tx(struct tg3 *tp){	u32 hw_idx = tp->hw_status->idx[0].tx_consumer;	u32 sw_idx = tp->tx_cons;	while (sw_idx != hw_idx) {		struct tx_ring_info *ri = &tp->tx_buffers[sw_idx];		struct sk_buff *skb = ri->skb;		int i;		if (unlikely(skb == NULL))			BUG();		pci_unmap_single(tp->pdev,				 pci_unmap_addr(ri, mapping),				 skb_headlen(skb),				 PCI_DMA_TODEVICE);		ri->skb = NULL;		sw_idx = NEXT_TX(sw_idx);		for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {			if (unlikely(sw_idx == hw_idx))				BUG();			ri = &tp->tx_buffers[sw_idx];			if (unlikely(ri->skb != NULL))				BUG();			pci_unmap_page(tp->pdev,				       pci_unmap_addr(ri, mapping),				       skb_shinfo(skb)->frags[i].size,				       PCI_DMA_TODEVICE);			sw_idx = NEXT_TX(sw_idx);		}		dev_kfree_skb_irq(skb);	}	tp->tx_cons = sw_idx;	if (netif_queue_stopped(tp->dev) &&	    (TX_BUFFS_AVAIL(tp) > TG3_TX_WAKEUP_THRESH))		netif_wake_queue(tp->dev);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/f47c11eeccc8820010992eb32dbe7370a08f8bd3/tg3.c/buggy/drivers/net/tg3.c