diff options
author | York Sun <yorksun@freescale.com> | 2011-05-27 07:25:50 +0800 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2011-07-11 13:24:19 -0500 |
commit | d2246549c7a71a3fca240e78bbcda6951195cfe3 (patch) | |
tree | 9b12c4b0157679266a0ea859a7fd390e61414014 | |
parent | e090aa7cf05fe3cde7ce751cbb4f0c59cc113035 (diff) | |
download | talos-obmc-uboot-d2246549c7a71a3fca240e78bbcda6951195cfe3.tar.gz talos-obmc-uboot-d2246549c7a71a3fca240e78bbcda6951195cfe3.zip |
powerpc/mpc8xxx: check SPD length before using part number
Only use DDR DIMM part number if SPD has valid length, to prevent from
display garbage in case SPD doesn't cover these fields.
Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
-rw-r--r-- | arch/powerpc/cpu/mpc8xxx/ddr/ddr3_dimm_params.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/cpu/mpc8xxx/ddr/ddr3_dimm_params.c b/arch/powerpc/cpu/mpc8xxx/ddr/ddr3_dimm_params.c index 756b15f7ab..838cebed57 100644 --- a/arch/powerpc/cpu/mpc8xxx/ddr/ddr3_dimm_params.c +++ b/arch/powerpc/cpu/mpc8xxx/ddr/ddr3_dimm_params.c @@ -114,7 +114,8 @@ ddr_compute_dimm_parameters(const ddr3_spd_eeprom_t *spd, * and copying the part name in ASCII from the SPD onto it */ memset(pdimm->mpart, 0, sizeof(pdimm->mpart)); - memcpy(pdimm->mpart, spd->mpart, sizeof(pdimm->mpart) - 1); + if ((spd->info_size_crc & 0xF) > 1) + memcpy(pdimm->mpart, spd->mpart, sizeof(pdimm->mpart) - 1); /* DIMM organization parameters */ pdimm->n_ranks = ((spd->organization >> 3) & 0x7) + 1; |