• Ingo Molnar's avatar
    [PATCH] lockdep: HPET/RTC fix · 0f749646
    Ingo Molnar authored
    Joseph Fannin reported that hpet_rtc_interrupt() enables hardirqs
    in irq context:
    
    [   25.628000]  [<c014af4e>] trace_hardirqs_on+0xce/0x200
    [   25.628000]  [<c036cf21>] _spin_unlock_irq+0x31/0x70
    [   25.628000]  [<c0296584>] rtc_get_rtc_time+0x44/0x1a0
    [   25.628000]  [<c01198bb>] hpet_rtc_interrupt+0x21b/0x280
    [   25.628000]  [<c0161141>] handle_IRQ_event+0x31/0x70
    [   25.628000]  [<c0162d37>] handle_edge_irq+0xe7/0x210
    [   25.628000]  [<c0106192>] do_IRQ+0x92/0x120
    [   25.628000]  [<c0104121>] common_interrupt+0x25/0x2c
    
    the call of rtc_get_rtc_time() is highly suspect. At a minimum we
    need the patch below to save/restore hardirq state.
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    Cc: Joseph Fannin <jfannin@gmail.com>
    Cc: John Stultz <johnstul@us.ibm.com>
    Cc: Arjan van de Ven <arjan@linux.intel.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    0f749646
rtc.c 33.1 KB