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 <[email protected]>
> Signed-off-by: Marek Szyprowski <[email protected]>
> Cc: Stable <[email protected]> [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 [email protected]
> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html