Hi Marek, On Tue, Mar 19, 2013 at 08:24:21AM +0100, Marek Szyprowski wrote: > commit 9d1400cf79afb49584b4873eb22cd5130cb341db upstream. > > Atomic pool should always be allocated from DMA zone if such zone is > available in the system to avoid issues caused by limited dma mask of > any of the devices used for making an atomic allocation. > > Reported-by: Krzysztof Halasa <khc@xxxxxxxxx> > Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> > Cc: Stable <stable@xxxxxxxxxxxxxxx> [v3.6+] > --- > Hello, > > This is a backported version of mainline 9d1400cf79afb49584b commit. > It should apply fine to v3.8.y, v3.7.y and v3.6.y stable kernel trees. Could you confirm this should *not* be added to 3.5 kernels? Cheers, -- Luis > > Best regards > Marek Szyprowski > Samsung Poland R&D Center > --- > arch/arm/mm/dma-mapping.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c > index dda3904..5397da0 100644 > --- a/arch/arm/mm/dma-mapping.c > +++ b/arch/arm/mm/dma-mapping.c > @@ -330,6 +330,7 @@ static int __init atomic_pool_init(void) > { > struct dma_pool *pool = &atomic_pool; > pgprot_t prot = pgprot_dmacoherent(pgprot_kernel); > + gfp_t gfp = GFP_KERNEL | GFP_DMA; > unsigned long nr_pages = pool->size >> PAGE_SHIFT; > unsigned long *bitmap; > struct page *page; > @@ -348,8 +349,8 @@ static int __init atomic_pool_init(void) > if (IS_ENABLED(CONFIG_CMA)) > ptr = __alloc_from_contiguous(NULL, pool->size, prot, &page); > else > - ptr = __alloc_remap_buffer(NULL, pool->size, GFP_KERNEL, prot, > - &page, NULL); > + ptr = __alloc_remap_buffer(NULL, pool->size, gfp, prot, &page, > + NULL); > if (ptr) { > int i; > > -- > 1.7.9.5 > > -- > To unsubscribe from this list: send the line "unsubscribe stable" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html