dma_addr_t *dma_handle, unsigned gfp) 
dma_addr_t *dma_handle, gfp_t gfp) 
void *dma_alloc_coherent(struct device *hwdev, size_t size,			 dma_addr_t *dma_handle, unsigned gfp){	void *ret;	u64 mask;	int order = get_order(size);	if (hwdev)		mask = hwdev->coherent_dma_mask & *hwdev->dma_mask;	else		mask = 0xffffffff;	for (;;) {		ret = (void *)__get_free_pages(gfp, order);		if (ret == NULL)			return NULL;		*dma_handle = virt_to_bus(ret);		if ((*dma_handle & ~mask) == 0)			break;		free_pages((unsigned long)ret, order);		if (gfp & GFP_DMA)			return NULL;		gfp |= GFP_DMA;	}	memset(ret, 0, size);	return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/f80aabb03a33702d934fbc3c02fd96471816d82e/pci-nommu.c/buggy/arch/x86_64/kernel/pci-nommu.c