Skip to contentSkip to conversation

Introduction of patches for CONFIG_MIPS_RAW_APPENDED_DTB (ralink)

PATCH New Tobias Wolf 1 participant 1 message Nov 21, 2016 MIPS

lore
Share & tools
lore
#0 lore raw

cover Introduction of patches for CONFIG_MIPS_RAW_APPENDED_DTB (ralink)

Hi,

While trying to get a vanilla kernel 4.4 running with CONFIG_MIPS_RAW_APPENDED_DTB I noticed a hang while booting right after:
CPU0 revision is: 0001906c (MIPS 4KEc)
on a rt288x (ralink) based router (Belkin F5D8235 v1).

Initially I wanted to hunt down another bug described in detail in LEDE Flyspray Issue Tracker for that router. [1] Basically all kernels 4.4+ causes a kernel crash because of "BUG: Bad page state in process swapper".

Back to the hang for vanilla 4.4:

Analysis showed that initial_boot_params in of_scan_flat_dt() of drivers/of/ fdt.c is never checked before accessed.

In arch/mips/ralink/of.c __dt_setup_arch(__dtb_start) is called without any checks right before calling of_scan_flat_dt() as well. Given that initial_boot_params is null, that call never returned.

The hang was caused because arch/mips/ralink does not yet support fw_passed_dtb and initial_boot_params was null therefore.

As I'm new to the kernel development procedure (thanks for some hints go to Mathias Kresin) I'm sending these patches separately afterwards.

Best regards
Tobias Wolf

[1] https://bugs.lede-project.org/index.php?do=details&task_id=244