mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-30 08:30:50 +09:00
dm: core: Fix Handling of global_data moving in SPL
commit 2f11cd9121
("dm: core: Handle global_data moving in SPL")
handles relocation of GD in SPL if spl_init() is called before
board_init_r(). So, uclass_root.next need not be initialized always
and accessing uclass_root.next->prev gives an abort. Update the
uclass_root only if it is available.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
This commit is contained in:
parent
5877d8f398
commit
b0d9512ab0
@ -44,8 +44,10 @@ struct udevice *dm_root(void)
|
|||||||
void dm_fixup_for_gd_move(struct global_data *new_gd)
|
void dm_fixup_for_gd_move(struct global_data *new_gd)
|
||||||
{
|
{
|
||||||
/* The sentinel node has moved, so update things that point to it */
|
/* The sentinel node has moved, so update things that point to it */
|
||||||
new_gd->uclass_root.next->prev = &new_gd->uclass_root;
|
if (gd->dm_root) {
|
||||||
new_gd->uclass_root.prev->next = &new_gd->uclass_root;
|
new_gd->uclass_root.next->prev = &new_gd->uclass_root;
|
||||||
|
new_gd->uclass_root.prev->next = &new_gd->uclass_root;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fdt_addr_t dm_get_translation_offset(void)
|
fdt_addr_t dm_get_translation_offset(void)
|
||||||
|
Loading…
Reference in New Issue
Block a user