Browse Source

swiotlb: use map_single instead of swiotlb_map_single in swiotlb_alloc_coherent

We always need swiotlb memory here so address_needs_mapping and
swiotlb_force testings are irrelevant. map_single should be used here
instead of swiotlb_map_single.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
FUJITA Tomonori 16 years ago
parent
commit
9dfda12b8b
1 changed files with 2 additions and 5 deletions
  1. 2 5
      lib/swiotlb.c

+ 2 - 5
lib/swiotlb.c

@@ -483,12 +483,9 @@ swiotlb_alloc_coherent(struct device *hwdev, size_t size,
 		 * swiotlb_map_single(), which will grab memory from
 		 * swiotlb_map_single(), which will grab memory from
 		 * the lowest available address range.
 		 * the lowest available address range.
 		 */
 		 */
-		dma_addr_t handle;
-		handle = swiotlb_map_single(NULL, NULL, size, DMA_FROM_DEVICE);
-		if (swiotlb_dma_mapping_error(hwdev, handle))
+		ret = map_single(hwdev, NULL, size, DMA_FROM_DEVICE);
+		if (!ret)
 			return NULL;
 			return NULL;
-
-		ret = bus_to_virt(handle);
 	}
 	}
 
 
 	memset(ret, 0, size);
 	memset(ret, 0, size);