diff options
author | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2018-09-19 13:01:55 +0200 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2018-10-09 18:32:47 +0200 |
commit | 2cea8d74dc3a80bbc06aff6b6dcaceb806d563b4 (patch) | |
tree | a30f4abdf08e09d1434eb28b4802e3e43168ebeb | |
parent | 780e31e93fa97fd8da4c27f039ac32a52b98f4ba (diff) |
imx: mx7: fix potential overflow in imx_ddr_size()
The imx_ddr_size() function may overflow as it is possible to kind of
over provision the DDR controller. Fix this by capping it to 2 GB which
is the maximum allowed size as per reference manual.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
-rw-r--r-- | arch/arm/mach-imx/mx7/ddr.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/mx7/ddr.c b/arch/arm/mach-imx/mx7/ddr.c index f19aeb8042..9713835bf2 100644 --- a/arch/arm/mach-imx/mx7/ddr.c +++ b/arch/arm/mach-imx/mx7/ddr.c @@ -196,5 +196,9 @@ unsigned int imx_ddr_size(void) if (field_val <= 29) bits++; + /* cap to max 2 GB */ + if (bits > 31) + bits = 31; + return 1 << bits; } |