]> git.baikalelectronics.ru Git - kernel.git/commit
MIPS: fix DMA contiguous allocation
authorQais Yousef <qais.yousef@imgtec.com>
Fri, 11 Dec 2015 21:41:09 +0000 (13:41 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 12 Dec 2015 18:15:34 +0000 (10:15 -0800)
commit723363de627b1d37be2ca9d86e947858a4648175
treedd1f94143c0bd097a3d9d8faca08bea984262ac1
parentf7c512c52af0705a2f00702603a459f83c2cbe18
MIPS: fix DMA contiguous allocation

Recent changes to how GFP_ATOMIC is defined seems to have broken the
condition to use mips_alloc_from_contiguous() in
mips_dma_alloc_coherent().

I couldn't bottom out the exact change but I think it's this commit
674a370e488e ("mm, page_alloc: distinguish between being unable to
sleep, unwilling to sleep and avoiding waking kswapd").

GFP_ATOMIC has multiple bits set and the check for !(gfp & GFP_ATOMIC)
isn't enough.

The reason behind this condition is to check whether we can potentially
do a sleeping memory allocation.  Use gfpflags_allow_blocking() instead
which should be more robust.

Signed-off-by: Qais Yousef <qais.yousef@imgtec.com>
Acked-by: Mel Gorman <mgorman@techsingularity.net>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/mips/mm/dma-default.c