On Thu, Nov 01, 2018 at 07:54:24AM +0000, Maciej W. Rozycki wrote:
Fix a MIPS `dma_alloc_coherent' regression from commit bc3ec75de545 ("dma-mapping: merge direct and noncoherent ops") that causes a cached allocation to be returned on noncoherent cache systems.
This is due to an inverted check now used in the MIPS implementation of `arch_dma_alloc' on the result from `dma_direct_alloc_pages' before doing the cached-to-uncached mapping of the allocation address obtained. The mapping has to be done for a non-NULL rather than NULL result, because a NULL result means the allocation has failed.
Invert the check for correct operation then.
Signed-off-by: Maciej W. Rozycki macro@linux-mips.org Fixes: bc3ec75de545 ("dma-mapping: merge direct and noncoherent ops") Cc: stable@vger.kernel.org # 4.19+
Oops, yes this looks good:
Reviewed-by: Christoph Hellwig hch@lst.de