sync_single(struct device *hwdev, char *dma_addr, size_t size, int dir) 
sync_single(struct device *hwdev, char *dma_addr, size_t size, int dir, int target) 
sync_single(struct device *hwdev, char *dma_addr, size_t size, int dir){	int index = (dma_addr - io_tlb_start) >> IO_TLB_SHIFT;	char *buffer = io_tlb_orig_addr[index];	/*	 * bounce... copy the data back into/from the original buffer	 * XXX How do you handle DMA_BIDIRECTIONAL here ?	 */	if (dir == DMA_FROM_DEVICE)		memcpy(buffer, dma_addr, size);	else if (dir == DMA_TO_DEVICE)		memcpy(dma_addr, buffer, size);	else		BUG();}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/de69e0f0b38a467d881e138a302b005bf31c8400/swiotlb.c/buggy/lib/swiotlb.c