From: Stanimir Varbanov Date: Wed, 29 Apr 2015 11:38:01 +0000 (+0300) Subject: arm64: dma-mapping: fix DMA_ATTR_STRONGLY_ORDERED in __get_dma_pgprot X-Git-Tag: KARO-TXSD-2017-03-24~88^2~42^2~2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=f332371e6ed08632f07ffb9dc7dde5321c2b327a;p=karo-tx-linux.git arm64: dma-mapping: fix DMA_ATTR_STRONGLY_ORDERED in __get_dma_pgprot Signed-off-by: Stanimir Varbanov --- diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c index aac69ad48975..3467425b259c 100644 --- a/arch/arm64/mm/dma-mapping.c +++ b/arch/arm64/mm/dma-mapping.c @@ -37,10 +37,12 @@ static pgprot_t __get_dma_pgprot(struct dma_attrs *attrs, pgprot_t prot, bool coherent) { - if (!coherent || dma_get_attr(DMA_ATTR_WRITE_COMBINE, attrs)) + if (dma_get_attr(DMA_ATTR_WRITE_COMBINE, attrs)) return pgprot_writecombine(prot); else if (dma_get_attr(DMA_ATTR_STRONGLY_ORDERED, attrs)) prot = pgprot_noncached(prot); + else if (!coherent) + return pgprot_writecombine(prot); return prot; }