swiotlb: use map_single instead of swiotlb_map_single in swiotlb_alloc_coherent
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Mon, 8 Sep 2008 09:53:48 +0000 (18:53 +0900)
committerIngo Molnar <mingo@elte.hu>
Mon, 8 Sep 2008 13:53:30 +0000 (15:53 +0200)
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>
lib/swiotlb.c

index 3066ffe1f9eb3a4cd7f6feadbb3220f182d5e48f..2fb485d0e7eb7d445a36288a86db658106ba1a08 100644 (file)
@@ -483,12 +483,9 @@ swiotlb_alloc_coherent(struct device *hwdev, size_t size,
                 * swiotlb_map_single(), which will grab memory from
                 * 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;
-
-               ret = bus_to_virt(handle);
        }
 
        memset(ret, 0, size);