Make sure that xen_swiotlb_init allocates buffers that is DMA capable.

Signed-off-by: Chen Baozi <baoz...@gmail.com>
---
 drivers/xen/swiotlb-xen.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
index 810ad41..7345afd 100644
--- a/drivers/xen/swiotlb-xen.c
+++ b/drivers/xen/swiotlb-xen.c
@@ -235,7 +235,8 @@ retry:
 #define SLABS_PER_PAGE (1 << (PAGE_SHIFT - IO_TLB_SHIFT))
 #define IO_TLB_MIN_SLABS ((1<<20) >> IO_TLB_SHIFT)
                while ((SLABS_PER_PAGE << order) > IO_TLB_MIN_SLABS) {
-                       xen_io_tlb_start = (void 
*)__get_free_pages(__GFP_NOWARN, order);
+                       xen_io_tlb_start = (void *)__get_free_pages(
+                                               __GFP_NOWARN|__GFP_DMA, order);
                        if (xen_io_tlb_start)
                                break;
                        order--;
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to