pci_unmap_single(tp->pdev, tpl->DMABuff, tpl->Skb->len, PCI_DMA_TODEVICE); 
dma_unmap_single(tp->pdev, tpl->DMABuff, tpl->Skb->len, DMA_TO_DEVICE); 
static void tms380tr_tx_status_irq(struct net_device *dev){	struct net_local *tp = netdev_priv(dev);	unsigned char HighByte, HighAc, LowAc;	TPL *tpl;	/* NOTE: At this point the SSB from TRANSMIT STATUS is no longer	 * available, because the CLEAR SSB command has already been issued.	 *	 * Process all complete transmissions.	 */	for(;;)	{		tpl = tp->TplBusy;		if(!tpl->BusyFlag || (tpl->Status			& (TX_VALID | TX_FRAME_COMPLETE))			!= TX_FRAME_COMPLETE)		{			break;		}		/* "Remove" TPL from busy list. */		tp->TplBusy = tpl->NextTPLPtr ;		/* Check the transmit status field only for directed frames*/		if(DIRECTED_FRAME(tpl) && (tpl->Status & TX_ERROR) == 0)		{			HighByte = GET_TRANSMIT_STATUS_HIGH_BYTE(tpl->Status);			HighAc   = GET_FRAME_STATUS_HIGH_AC(HighByte);			LowAc    = GET_FRAME_STATUS_LOW_AC(HighByte);			if((HighAc != LowAc) || (HighAc == AC_NOT_RECOGNIZED))			{				printk(KERN_DEBUG "%s: (DA=%08lX not recognized)\n",					dev->name,					*(unsigned long *)&tpl->MData[2+2]);			}			else			{				if(tms380tr_debug > 3)					printk(KERN_DEBUG "%s: Directed frame tx'd\n", 						dev->name);			}		}		else		{			if(!DIRECTED_FRAME(tpl))			{				if(tms380tr_debug > 3)					printk(KERN_DEBUG "%s: Broadcast frame tx'd\n",						dev->name);			}		}		tp->MacStat.tx_packets++;		if (tpl->DMABuff)			pci_unmap_single(tp->pdev, tpl->DMABuff, tpl->Skb->len, PCI_DMA_TODEVICE);		dev_kfree_skb_irq(tpl->Skb);		tpl->BusyFlag = 0;	/* "free" TPL */	}	if(!tp->TplFree->NextTPLPtr->BusyFlag)		netif_wake_queue(dev);	return;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/504ff16cecf2a788181eddc9d6e47d94ce50a9f6/tms380tr.c/clean/drivers/net/tokenring/tms380tr.c