ARM: invalidate L1 before enabling coherency
authorRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 8 Jul 2015 23:30:24 +0000 (00:30 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 13 Sep 2015 16:07:44 +0000 (09:07 -0700)
commit3a9570eadcc10d5952c94ff3180da66c0a0c685e
tree6bbeb5cacb21662d68ea7ddc9fcc146f6640fb9e
parenta3595b864a2d64cf5084cbd822be622a4b0f5664
ARM: invalidate L1 before enabling coherency

commit bac51ad9d14f6baed3730ef53bedc1eb2238563a upstream.

We must invalidate the L1 cache before enabling coherency, otherwise
secondary CPUs can inject invalid cache lines into the coherent CPU
cluster, which could then be migrated to other CPUs.  This fixes a
recent regression with SoCFPGA randomly failing to boot.

Fixes: 02b4e2756e01 ("ARM: v7 setup function should invalidate L1 cache")
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Alexander Kochetkov <al.kochet@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/mm/proc-v7.S