From b7a8b8c6fb4a8b76942e1d8d1885c6f817376b65 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Fri, 26 Jun 2015 12:17:48 -0500 Subject: northbridge/amd/amdmct/mct_ddr3: Fix null pointer access and related hangs Change-Id: Iaf826b6a0c8e929372519f6d97933515a80f0b39 Signed-off-by: Timothy Pearson Reviewed-on: http://review.coreboot.org/12009 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc --- src/northbridge/amd/amdmct/mct_ddr3/mctsdi.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/northbridge/amd/amdmct/mct_ddr3/mctsdi.c') diff --git a/src/northbridge/amd/amdmct/mct_ddr3/mctsdi.c b/src/northbridge/amd/amdmct/mct_ddr3/mctsdi.c index 09f86ea3ad..3b53b110bb 100644 --- a/src/northbridge/amd/amdmct/mct_ddr3/mctsdi.c +++ b/src/northbridge/amd/amdmct/mct_ddr3/mctsdi.c @@ -34,10 +34,9 @@ static uint8_t fam15_dimm_dic(struct DCTStatStruc *pDCTstat, uint8_t dct, uint8_ static uint8_t fam15_rttwr(struct DCTStatStruc *pDCTstat, uint8_t dct, uint8_t dimm, uint8_t rank, uint8_t package_type) { uint8_t term = 0; - sDCTStruct *pDCTData = pDCTstat->C_DCTPtr[dct]; - uint8_t number_of_dimms = pDCTData->MaxDimmsInstalled; + uint8_t number_of_dimms = pDCTstat->MAdimms[dct]; uint8_t frequency_index; - uint8_t rank_count = pDCTData->DimmRanks[dimm]; + uint8_t rank_count = pDCTstat->DimmRanks[(dimm * 2) + dct]; if (is_fam15h()) frequency_index = Get_NB32_DCT(pDCTstat->dev_dct, dct, 0x94) & 0x1f; @@ -97,8 +96,7 @@ static uint8_t fam15_rttwr(struct DCTStatStruc *pDCTstat, uint8_t dct, uint8_t d static uint8_t fam15_rttnom(struct DCTStatStruc *pDCTstat, uint8_t dct, uint8_t dimm, uint8_t rank, uint8_t package_type) { uint8_t term = 0; - sDCTStruct *pDCTData = pDCTstat->C_DCTPtr[dct]; - uint8_t number_of_dimms = pDCTData->MaxDimmsInstalled; + uint8_t number_of_dimms = pDCTstat->MAdimms[dct]; uint8_t frequency_index; if (is_fam15h()) -- cgit v1.2.3