]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - arch/arm/mm/cache-v6.S
ARM: 6187/1: The v6_dma_inv_range() function must preserve data on SMP
[net-next-2.6.git] / arch / arm / mm / cache-v6.S
index e46ecd8471383102b52e5c6475873f3f4bdfc65d..332b48c6d4ff0fa17b17d107e50f36d574bc43f3 100644 (file)
@@ -212,7 +212,8 @@ v6_dma_inv_range:
 #endif
 1:
 #ifdef CONFIG_SMP
-       str     r0, [r0]                        @ write for ownership
+       ldr     r2, [r0]                        @ read for ownership
+       str     r2, [r0]                        @ write for ownership
 #endif
 #ifdef HARVARD_CACHE
        mcr     p15, 0, r0, c7, c6, 1           @ invalidate D line