nb/intel/x4x: Die on invalid memory speeds

The speed argument should be one of the six values from the mem_clock
enum, so something is very wrong if this is not the case. Better to
die now than return 0, which will cause a division-by-zero error
later on where this function is called. The first two speeds are also
unsupported and have the same problem with returning 0, so die on those
as well.

Change-Id: Ib628c0eed3d6571bdde1df27ae213ca0691ec256
Signed-off-by: Jacob Garber <jgarber1@ualberta.ca>
Found-by: Coverity CID 1391088
Reviewed-on: https://review.coreboot.org/c/coreboot/+/33409
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: HAOUAS Elyes <ehaouas@noos.fr>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Jacob Garber 2019-06-11 15:23:23 -06:00 committed by Martin Roth
parent 3c19382367
commit 5033d6ce51
1 changed files with 2 additions and 2 deletions

View File

@ -41,8 +41,8 @@ u32 ddr_to_mhz(u32 speed)
{ {
static const u16 mhz[] = { 0, 0, 667, 800, 1067, 1333 }; static const u16 mhz[] = { 0, 0, 667, 800, 1067, 1333 };
if (speed >= ARRAY_SIZE(mhz)) if (speed <= 1 || speed >= ARRAY_SIZE(mhz))
return 0; die("RAM init: invalid memory speed %u\n", speed);
return mhz[speed]; return mhz[speed];
} }