On 20/04/15 11:48, Chen Baozi wrote: > 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);
I think this breaks x86 where __GFP_DMA means below 16 MB. Perhaps you mean __GFP_DMA32? David _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel