diff --git a/rtos/code/application/source/cardv/SrcCode/System/sys_linuxboot.c b/rtos/code/application/source/cardv/SrcCode/System/sys_linuxboot.c index 4b5dd82de..be3feb732 100755 --- a/rtos/code/application/source/cardv/SrcCode/System/sys_linuxboot.c +++ b/rtos/code/application/source/cardv/SrcCode/System/sys_linuxboot.c @@ -882,6 +882,12 @@ static int load_linux_from_flash(LINUXTMP_PARTITION *p_linuxtmp, FDT_INFO *p_fdt LINUX_BOOT_MSG("*linuxtmp used size = %lx , linux compressed / uncompressed size = %lx / %lx ******\n", p_linuxtmp->tmp_curr - p_linuxtmp->tmp_begin, fastload.MemComp.size, fastload.MemUnComp.size); + if(p_linuxtmp->tmp_curr > p_fdt_info->hdal_addr){ + DBG_ERR("linux tmp buffer overflow(curr:%lx), hdal media buffer(%lx) may be corrupted!!\n", p_linuxtmp->tmp_curr, p_fdt_info->hdal_addr); + vos_util_delay_ms(100); // add delay to show dbg_fatal message in linux + vos_debug_halt(); + } + cmd.Idx = FWSRV_CMD_IDX_FASTLOAD; cmd.In.pData = &fastload; cmd.In.uiNumByte = sizeof(fastload);