[U-Boot] [PATCH 1/5] board_f: Drop the timer after relocation

Bin Meng bmeng.cn at gmail.com
Sun Jul 23 04:36:13 UTC 2017


Hi Simon,

On Sun, Jul 16, 2017 at 7:41 AM, Simon Glass <sjg at chromium.org> wrote:
> Once U-Boot relocates itself the existing driver-model timer (if any) is
> no-longer valid until the device is reinitialised. Any use of the device
> may cause a crash. To handle this, set the timer to NULL after relocation.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
>  common/board_f.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/common/board_f.c b/common/board_f.c
> index ffa84e3566..d675dc38ac 100644
> --- a/common/board_f.c
> +++ b/common/board_f.c
> @@ -979,6 +979,7 @@ void board_init_f_r(void)
>          * UART if available.
>          */
>         gd->flags &= ~GD_FLG_SERIAL_READY;
> +       gd->timer = NULL;

This needs to be wrapped with #ifdef CONFIG_TIMER.

But there is already a config option CONFIG_TIMER_EARLY, and gd->timer
is zeroed in initr_dm(). We should fix problems with existing
CONFIG_TIMER_EARLY.

>
>         /*
>          * U-Boot has been copied into SDRAM, the BSS has been cleared etc.
> --

Regards,
Bin


More information about the U-Boot mailing list