From: Ovidiu Panait Date: Fri, 24 Jul 2020 11:12:25 +0000 (+0300) Subject: common/board_r: Move blkcache_init call earlier in the boot sequence X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=276b6c943a9b8166666b808c64d8a1deefdccbb3;p=u-boot.git common/board_r: Move blkcache_init call earlier in the boot sequence blkcache_init manually relocates blkcache list pointers when CONFIG_NEEDS_MANUAL_RELOC is enabled. However, it is called very late in the boot sequence, which could be a problem if previous boot calls execute blkcache operations with the non-relocated pointers. For example, mmc is initialized earlier and might call blkcache_invalidate (in mmc_select_hwpart()) when trying to load the environment from mmc via env_load(). To fix this issue, move blkcache_init boot call earlier, before mmc gets initialized. Acked-by: Angelo Dureghello Tested-by: Angelo Dureghello Reviewed-by: Simon Glass Signed-off-by: Ovidiu Panait --- diff --git a/common/board_r.c b/common/board_r.c index 53792e9a31..d48d2bb8a0 100644 --- a/common/board_r.c +++ b/common/board_r.c @@ -714,6 +714,9 @@ static init_fnc_t init_sequence_r[] = { initr_watchdog, #endif INIT_FUNC_WATCHDOG_RESET +#if defined(CONFIG_NEEDS_MANUAL_RELOC) && defined(CONFIG_BLOCK_CACHE) + blkcache_init, +#endif #ifdef CONFIG_NEEDS_MANUAL_RELOC initr_manual_reloc_cmdtable, #endif @@ -847,9 +850,6 @@ static init_fnc_t init_sequence_r[] = { #endif #if defined(CONFIG_PRAM) initr_mem, -#endif -#if defined(CONFIG_NEEDS_MANUAL_RELOC) && defined(CONFIG_BLOCK_CACHE) - blkcache_init, #endif run_main_loop, };