]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm/mm/flush.c
Merge branch 'fix/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
[karo-tx-linux.git] / arch / arm / mm / flush.c
index c07222eb5ce012b141189beb61c191e79ef8d59f..575f3ad722e773fabffaac361fa9e72ecfaea62a 100644 (file)
@@ -144,7 +144,14 @@ void __flush_dcache_page(struct address_space *mapping, struct page *page)
         * page.  This ensures that data in the physical page is mutually
         * coherent with the kernels mapping.
         */
-       __cpuc_flush_dcache_page(page_address(page));
+#ifdef CONFIG_HIGHMEM
+       /*
+        * kmap_atomic() doesn't set the page virtual address, and
+        * kunmap_atomic() takes care of cache flushing already.
+        */
+       if (page_address(page))
+#endif
+               __cpuc_flush_dcache_page(page_address(page));
 
        /*
         * If this is a page cache page, and we have an aliasing VIPT cache,