arm: bootm: fix sp detection at end of address range
authorSimon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Mon, 14 Jan 2019 21:38:23 +0000 (22:38 +0100)
committerTom Rini <trini@konsulko.com>
Thu, 17 Jan 2019 04:16:25 +0000 (23:16 -0500)
commitf8878da5571e5a1170f9c49214be5bafbc1b23a4
tree20fc239128010116c5034692afd9a82fb1ba0fa3
parenta156c47e39ad7d007c88919103ee0ee131c6203b
arm: bootm: fix sp detection at end of address range

This fixes  'arch_lmb_reserve()' for ARM that tries to detect in which
DRAM bank 'sp' is in.

This code failed if a bank was at the end of physical address range
(i.e. size + length overflowed to 0).

To fix this, calculate 'bank_end' as 'size + length - 1' so that such
banks end at 0xffffffff, not 0.

Fixes: 15751403b6 ("ARM: bootm: don't assume sp is in DRAM bank 0")
Reported-by: Frank Wunderlich <frank-w@public-files.de>
Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
arch/arm/lib/bootm.c