Skip to content
  • Sanchayan Maity's avatar
    drivers/rtc/rtc-snvs: fix suspend/resume · 7654e9d4
    Sanchayan Maity authored
    
    
    The alarm interrupt handler also reads registers which are part of SNVS
    and need clocks enabled.  However, the resume function is called after
    IRQ's have been enabled, hence this leads to a abort:
    
        Unhandled fault: external abort on non-linefetch (0x1008) at 0x908c604c
        Internal error: : 1008 [#1] ARM
        Modules linked in:
        CPU: 0 PID: 421 Comm: sh Not tainted 3.18.0-rc5-00135-g0689c67-dirty #1592
        task: 8e03e800 ti: 8cad8000 task.ti: 8cad8000
        PC is at snvs_rtc_irq_handler+0x14/0x74
        LR is at handle_irq_event_percpu+0x3c/0x144
    
    Fix this by using the .{suspend/resume}_noirq callbacks instead of
    .{suspend/resume} .
    
    Signed-off-by: default avatarSanchayan Maity <maitysanchayan@gmail.com>
    Cc: Shawn Guo <shawn.guo@linaro.org>
    Cc: Stefan Agner <stefan@agner.ch>
    Cc: Alessandro Zummo <a.zummo@towertech.it>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    7654e9d4