From: Marek Szyprowski Date: Thu, 16 Jan 2014 14:39:17 +0000 (+0100) Subject: ARM: dma-mapping: fix GFP_ATOMIC macro usage X-Git-Tag: submit/tizen_common/20140905.094502~589 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=751d789f6490b7c08ff49dae95509b2be29bac78;p=sdk%2Femulator%2Femulator-kernel.git ARM: dma-mapping: fix GFP_ATOMIC macro usage commit 10c8562f932d89c030083e15f9279971ed637136 upstream. GFP_ATOMIC is not a single gfp flag, but a macro which expands to the other flags and LACK of __GFP_WAIT flag. To check if caller wanted to perform an atomic allocation, the code must test __GFP_WAIT flag presence. This patch fixes the issue introduced in v3.6-rc5 Signed-off-by: Marek Szyprowski Signed-off-by: Jiri Slaby --- diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c index 1272ed202dde..a2d0f91c5bd7 100644 --- a/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c @@ -1325,7 +1325,7 @@ static void *arm_iommu_alloc_attrs(struct device *dev, size_t size, *handle = DMA_ERROR_CODE; size = PAGE_ALIGN(size); - if (gfp & GFP_ATOMIC) + if (!(gfp & __GFP_WAIT)) return __iommu_alloc_atomic(dev, size, handle); /*