Some CPUs perform speculative fetches. This may occur while a region of memory is being written via DMA, so that region must be invalidated when it is brought under CPU control after the DMA transaction finishes, assuming the DMA was either bidirectional or from the device. Signed-off-by: Dima Zavin <dima@android.com> (cherry picked from commit fe79fc554afbfaa2652542129fb7380f4f7c4934) Conflicts: arch/arm/include/asm/dma-mapping.h Change-Id: Id2a66fe567066a9301859b897d540885667253e6