ARM: 7010/1: mm: fix invalid loop for poison_init_mem
authorJamie Iles <jamie@jamieiles.com>
Thu, 4 Aug 2011 08:39:31 +0000 (09:39 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 9 Aug 2011 07:42:38 +0000 (08:42 +0100)
commitbf912d99e94cd1f43a7decce2e9b79a3ca7f2418
tree16a6ffb520d880cdc8662539d3369960e81cb5ba
parent7760d54600a3d6206551c12eb53931ce7369d424
ARM: 7010/1: mm: fix invalid loop for poison_init_mem

poison_init_mem() used a loop of:

while ((count = count - 4))

which has 2 problems - an off by one error so that we do one less word
than we should, and the other is that if count == 0 then we loop forever
and poison too much.  On a platform with HAVE_TCM=y but nothing in the
TCM's, this caused corruption and the platform failed to boot.

Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Jamie Iles <jamie@jamieiles.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/init.c