mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-18 05:01:30 +00:00
dm: timer: handle being called before dm_root is ready
When used with bootstage recording, dm_timer_init may be called surprisingly early: i.e. before dm_root is ready. To deal with this case, we explicitly check for this condition and return -EAGAIN to the caller (refer to drivers/timer/rockchip_timer.c for a case where this is needed/used). Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
This commit is contained in:
parent
b61e8b0c9e
commit
af82315164
1 changed files with 7 additions and 0 deletions
|
@ -92,6 +92,13 @@ int notrace dm_timer_init(void)
|
|||
if (gd->timer)
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* Directly access gd->dm_root to suppress error messages, if the
|
||||
* virtual root driver does not yet exist.
|
||||
*/
|
||||
if (gd->dm_root == NULL)
|
||||
return -EAGAIN;
|
||||
|
||||
#if !CONFIG_IS_ENABLED(OF_PLATDATA)
|
||||
/* Check for a chosen timer to be used for tick */
|
||||
node = ofnode_get_chosen_node("tick-timer");
|
||||
|
|
Loading…
Add table
Reference in a new issue