Re: [PATCH] ARM: DMA-mapping: add missing GFP_DMA flag for atomic buffer allocation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]