Merge commit 'v3.6' into fixes
authorRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 4 Oct 2012 22:59:32 +0000 (23:59 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 4 Oct 2012 22:59:32 +0000 (23:59 +0100)
arch/arm/Kconfig
arch/arm/mm/cache-v7.S

index 2f88d8d..48c19d4 100644 (file)
@@ -1413,6 +1413,16 @@ config PL310_ERRATA_769419
          on systems with an outer cache, the store buffer is drained
          explicitly.
 
+config ARM_ERRATA_775420
+       bool "ARM errata: A data cache maintenance operation which aborts, might lead to deadlock"
+       depends on CPU_V7
+       help
+        This option enables the workaround for the 775420 Cortex-A9 (r2p2,
+        r2p6,r2p8,r2p10,r3p0) erratum. In case a date cache maintenance
+        operation aborts with MMU exception, it might cause the processor
+        to deadlock. This workaround puts DSB before executing ISB if
+        an abort may occur on cache maintenance.
+
 endmenu
 
 source "arch/arm/common/Kconfig"
index 39e3fb3..3b17227 100644 (file)
@@ -211,6 +211,9 @@ ENTRY(v7_coherent_user_range)
  * isn't mapped, fail with -EFAULT.
  */
 9001:
+#ifdef CONFIG_ARM_ERRATA_775420
+       dsb
+#endif
        mov     r0, #-EFAULT
        mov     pc, lr
  UNWIND(.fnend         )