ddr3: Fix SPD CRC calculation
Use the correct SPD size for crc calculation. sizeof(*spd) returns 4 while sizeof(spd_raw_data) returns the expected value of 256. Fixes erroneous printing of "ERROR: SPD CRC failed!!!" in raminit log. Verified by testing this code on Intel IvyBridge and Gigabyte GA-B75M-D3H. Change-Id: Iba305c69debd64fa921e08e00ec0a3531c80f56f Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-on: http://review.coreboot.org/10629 Tested-by: build bot (Jenkins) Reviewed-by: Nicolas Reinecke <nr@das-labor.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
parent
6762a8b85e
commit
8c639359ea
|
@ -128,7 +128,7 @@ int spd_decode_ddr3(dimm_attr * dimm, spd_raw_data spd)
|
|||
dimm->dram_type = SPD_MEMORY_TYPE_SDRAM_DDR3;
|
||||
dimm->dimm_type = spd[3] & 0xf;
|
||||
|
||||
crc = spd_ddr3_calc_crc(spd, sizeof(*spd));
|
||||
crc = spd_ddr3_calc_crc(spd, sizeof(spd_raw_data));
|
||||
/* Compare with the CRC in the SPD */
|
||||
spd_crc = (spd[127] << 8) + spd[126];
|
||||
/* Verify the CRC is correct */
|
||||
|
|
Loading…
Reference in New Issue