aboutsummaryrefslogtreecommitdiff
path: root/lib/swiotlb.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-11-08 20:23:02 +0100
committerIngo Molnar <mingo@elte.hu>2008-11-08 20:23:02 +0100
commit895e031707954a9ca26ed4f5f794575313854ed1 (patch)
treeec7cd5515f346e6f94bc43e63d55ebc8ddf4173d /lib/swiotlb.c
parent838e8bb71dc0c892bf8f84abd3c709d8fe3a8d3c (diff)
parenta622cf69b806bbb1887913c04e01d0c25b892876 (diff)
Merge branch 'linus' into x86/cleanups
Diffstat (limited to 'lib/swiotlb.c')
-rw-r--r--lib/swiotlb.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/swiotlb.c b/lib/swiotlb.c
index f8eebd48914..78330c37a61 100644
--- a/lib/swiotlb.c
+++ b/lib/swiotlb.c
@@ -497,8 +497,10 @@ swiotlb_alloc_coherent(struct device *hwdev, size_t size,
printk("hwdev DMA mask = 0x%016Lx, dev_addr = 0x%016Lx\n",
(unsigned long long)*hwdev->dma_mask,
(unsigned long long)dev_addr);
- panic("swiotlb_alloc_coherent: allocated memory is out of "
- "range for device");
+
+ /* DMA_TO_DEVICE to avoid memcpy in unmap_single */
+ unmap_single(hwdev, ret, size, DMA_TO_DEVICE);
+ return NULL;
}
*dma_handle = dev_addr;
return ret;