On Fri, 23 Dec 2022 12:27:47 +0100, andreas@xxxxxxxxxxx wrote: > From: Andreas Rammhold <andreas@xxxxxxxxxxx> > > If memory has been found early_init_dt_scan_memory now returns 1. If > it hasn't found any memory it will return 0, allowing other memory > setup mechanisms to carry on. > > Previously early_init_dt_scan_memory always returned 0 without > distinguishing between any kind of memory setup being done or not. Any > code path after the early_init_dt_scan memory call in the ramips > plat_mem_setup code wouldn't be executed anymore. Making > early_init_dt_scan_memory the only way to initialize the memory. > > Some boards, including my mt7621 based Cudy X6 board, depend on memory > initialization being done via the soc_info.mem_detect function > pointer. Those wouldn't be able to obtain memory and panic the kernel > during early bootup with the message "early_init_dt_alloc_memory_arch: > Failed to allocate 12416 bytes align=0x40". > > Fixes: 1f012283e936 ("of/fdt: Rework early_init_dt_scan_memory() to call directly") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Andreas Rammhold <andreas@xxxxxxxxxxx> > --- > arch/mips/ralink/of.c | 2 +- > drivers/of/fdt.c | 6 ++++-- > 2 files changed, 5 insertions(+), 3 deletions(-) > Applied, thanks!