The fsp_table access by [i-1] can cause invalid memory access in case of
i=0. This can be the case if no fsp_table is available. Fix this by
adding the idx variable which tracks the correct index.
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Change-Id: If2285517eb9fe837f3ad54360307a77a658bf62c
void dram_info_init(unsigned long dram_timing_base)
{
uint32_t ddrc_mstr, current_fsp;
+ unsigned int idx = 0;
uint32_t flags = 0;
uint32_t rc;
unsigned int i;
if (!dram_info.timing_info->fsp_table[i]) {
break;
}
+ idx = i;
}
dram_info.num_fsp = i;
/* check if has bypass mode support */
- if (dram_info.timing_info->fsp_table[i-1] < 666) {
+ if (dram_info.timing_info->fsp_table[idx] < 666) {
dram_info.bypass_mode = true;
} else {
dram_info.bypass_mode = false;