Update: with the patch below (click triangle to expand) both of my mamba devices have been rock stable (for weeks) on kernel 4.9. The only issue (if 4.14 doesn't fix mamba) is how to roll this into trunk, in the event people don't want to disable CPU IDLE on non-mamba devices.
mamba cpu idle patch
--- a/target/linux/mvebu/config-4.9 +++ b/target/linux/mvebu/config-4.9 @@ -44,7 +44,7 @@ CONFIG_ARM_HEAVY_MB=y CONFIG_ARM_L1_CACHE_SHIFT=6 CONFIG_ARM_L1_CACHE_SHIFT_6=y # CONFIG_ARM_LPAE is not set -CONFIG_ARM_MVEBU_V7_CPUIDLE=y +# CONFIG_ARM_MVEBU_V7_CPUIDLE is not set CONFIG_ARM_PATCH_IDIV=y CONFIG_ARM_PATCH_PHYS_VIRT=y CONFIG_ARM_THUMB=y @@ -94,8 +94,8 @@ CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_HAS_ASID=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_CPU_ICACHE_DISABLE is not set -CONFIG_CPU_IDLE=y -CONFIG_CPU_IDLE_GOV_LADDER=y +# CONFIG_CPU_IDLE is not set +# CONFIG_CPU_IDLE_GOV_LADDER is not set CONFIG_CPU_PABRT_V7=y CONFIG_CPU_PJ4B=y CONFIG_CPU_PM=y
Original post below...
Since the mvebu was moved to 4.9 the WRT1900ACV1 (Mamba) device has suffered continual reboots -- typically after an hour, sometimes much sooner.
I found a few suspicious CONFIG choices, given that if memory serves the Mamba device doesn't populate an external component required for the RTC to operate, and the CPU governor doesn't work (or just wasn't officially configured to work when the device was added).
In any case, I have a device that's been running LEDE trunk on 4.9 for almost 10 hours now with the following patch:
<snip! (it didn't work...)>
Is anyone familiar with why these were set and if they can be unconditionally "not set" for the mvebu platform in general? Based on boot logs the Shelby unit at least initializes its RTC and we wouldn't want to disable an available resource.
I also haven't narrowed down whether the governor flag is actually an issue, or if it's the RTC (and if so, is it necessary to disable both CONFIGs) but I think I'm at least on the right track to fix this extremely annoying issue. Comments/testing welcome.