From mboxrd@z Thu Jan 1 00:00:00 1970 From: catalin.marinas@arm.com (Catalin Marinas) Date: Tue, 23 Jul 2013 14:08:37 +0100 Subject: [PATCH v2] ARM: Do not run dummy_flush_tlb_a15_erratum() on non-Cortex-A15 In-Reply-To: <1374581199-8277-1-git-send-email-festevam@gmail.com> References: <1374581199-8277-1-git-send-email-festevam@gmail.com> Message-ID: <20130723130837.GA4654@MacBook-Pro.local> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Tue, Jul 23, 2013 at 01:06:39PM +0100, Fabio Estevam wrote: > From: Fabio Estevam > > Commit 93dc688 (ARM: 7684/1: errata: Workaround for Cortex-A15 erratum 798181 > (TLBI/DSB operations)) causes the following undefined instruction error on a > mx53 (Cortex-A8): > > Internal error: Oops - undefined instruction: 0 [#1] SMP ARM > CPU: 0 PID: 275 Comm: modprobe Not tainted 3.11.0-rc2-next-20130722-00009-g9b0f371 #881 > task: df46cc00 ti: df48e000 task.ti: df48e000 > PC is at check_and_switch_context+0x17c/0x4d0 > LR is at check_and_switch_context+0xdc/0x4d0 > > This problem happens because check_and_switch_context() calls > dummy_flush_tlb_a15_erratum() without checking if we are really running on a > Cortex-A15 or not. > > To avoid this issue, only call dummy_flush_tlb_a15_erratum() inside > check_and_switch_context() if erratum_a15_798181() returns true, which means > that we are really running on a Cortex-A15. > > Signed-off-by: Fabio Estevam Acked-by: Catalin Marinas