Skip to content
  • James Hogan's avatar
    MIPS: dma-default: Fix 32-bit fall back to GFP_DMA · 53960059
    James Hogan authored
    
    
    If there is a DMA zone (usually 24bit = 16MB I believe), but no DMA32
    zone, as is the case for some 32-bit kernels, then massage_gfp_flags()
    will cause DMA memory allocated for devices with a 32..63-bit
    coherent_dma_mask to fall back to using __GFP_DMA, even though there may
    only be 32-bits of physical address available anyway.
    
    Correct that case to compare against a mask the size of phys_addr_t
    instead of always using a 64-bit mask.
    
    Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
    Fixes: a2e715a8 ("MIPS: DMA: Fix computation of DMA flags from device's coherent_dma_mask.")
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: linux-mips@linux-mips.org
    Cc: <stable@vger.kernel.org> # 2.6.36+
    Patchwork: https://patchwork.linux-mips.org/patch/9610/
    
    
    Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    53960059