On Thu, Aug 01, 2013 at 03:12:45PM +0300, Felipe Balbi wrote: > From: Frank Rowand <frank.row...@am.sony.com> > > The omap 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. > > [ ba...@ti.com: taken from RT v3.10.4-rt1 patchset ] > > Signed-off-by: Frank Rowand <frank.row...@am.sony.com> > Signed-off-by: Thomas Gleixner <t...@linutronix.de>
There's a whole bunch of these, OMAP is not the only one. If someone's going to fix one case, the rest should also be fixed. See: arch/arm/mach-exynos/platsmp.c arch/arm/mach-msm/platsmp.c arch/arm/mach-prima2/platsmp.c arch/arm/mach-spear/platsmp.c arch/arm/mach-sti/platsmp.c arch/arm/mach-ux500/platsmp.c -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html