• Santosh Shilimkar's avatar
    ARM: OMAP4: Fix the boot regression with CPU_IDLE enabled · 4b353a70
    Santosh Shilimkar authored
    On OMAP4 panda board, there have been several bug reports about boot
    hang and lock-ups with CPU_IDLE enabled. The root cause of the issue
    is missing interrupts while in idle state. Commit cb7094e8 {cpuidle / omap4 :
    use CPUIDLE_FLAG_TIMER_STOP flag} moved the broadcast notifiers to common
    code for right reasons but on OMAP4 which suffers from a nasty ROM code
    bug with GIC, commit ff999b8a {ARM: OMAP4460: Workaround for ROM bug ..},
    we loose interrupts which leads to issues like lock-up, hangs etc.
    
    Patch reverts commit cb7094 {cpuidle / omap4 : use CPUIDLE_FLAG_TIMER_STOP
    flag} and 54769d65 {cpuidle: OMAP4: remove timer broadcast initialization} to
    avoid the issue. With this change, OMAP4 panda boards, the mentioned
    issues are getting fixed. We no longer loose interrupts which was the cause
    of the regression.
    
    Fixes: cb7094e8 (cpuidle / omap4 : use CPUIDLE_FLAG_TIMER_STOP flag)
    Fixes: ff999b8a (cpuidle: OMAP4: remove timer broadcast initialization)
    Cc: stable@vger.kernel.org # v3.9+
    Cc: Roger Quadros <rogerq@ti.com>
    Cc: Kevin Hilman <khilman@linaro.org>
    Cc: Tony Lindgren <tony@atomide.com>
    Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
    Reported-tested-by: default avatarRoger Quadros <rogerq@ti.com>
    Reported-tested-by: default avatarKevin Hilman <khilman@linaro.org>
    Tested-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    4b353a70
cpuidle44xx.c 6.2 KB