On 2018/7/11 12:00, Sebastian Andrzej Siewior wrote: > From: Frank Rowand <frank.rowand@xxxxxxxxxxx> > > The arm boot_lock is used by the secondary processor startup code. The locking > task is the idle thread, which has idle->sched_class == &idle_sched_class. > idle_sched_class->enqueue_task == NULL, so if the idle task blocks on the > lock, the attempt to wake it when the lock becomes available will fail: > > try_to_wake_up() > ... > activate_task() > enqueue_task() > p->sched_class->enqueue_task(rq, p, flags) > > Fix by converting boot_lock to a raw spin lock. > > Cc: "Andreas Färber" <afaerber@xxxxxxx> > Cc: Kukjin Kim <kgene@xxxxxxxxxx> > Cc: Krzysztof Kozlowski <krzk@xxxxxxxxxx> > Cc: Wei Xu <xuwei5@xxxxxxxxxxxxx> > Cc: Tony Lindgren <tony@xxxxxxxxxxx> > Cc: Barry Song <baohua@xxxxxxxxxx> > Cc: Andy Gross <andy.gross@xxxxxxxxxx> > Cc: David Brown <david.brown@xxxxxxxxxx> > Cc: Viresh Kumar <vireshk@xxxxxxxxxx> > Cc: Shiraz Hashim <shiraz.linux.kernel@xxxxxxxxx> > Cc: Patrice Chotard <patrice.chotard@xxxxxx> > Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxx> > Cc: Chen-Yu Tsai <wens@xxxxxxxx> > Cc: linux-samsung-soc@xxxxxxxxxxxxxxx > Cc: linux-omap@xxxxxxxxxxxxxxx > Cc: linux-arm-msm@xxxxxxxxxxxxxxx > Cc: linux-soc@xxxxxxxxxxxxxxx > Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxx> > Link: http://lkml.kernel.org/r/4E77B952.3010606@xxxxxxxxxxx > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> > Acked-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx> > Tested-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx> [Exynos5422 Linaro PM-QA] > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > --- > arch/arm/mach-actions/platsmp.c | 6 +++--- > arch/arm/mach-exynos/platsmp.c | 12 ++++++------ > arch/arm/mach-hisi/platmcpm.c | 22 +++++++++++----------- Thanks! Acked-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> (for mach-hisi) Best Regards, Wei -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html