[PATCH] lockdep: HPET/RTC fix
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: Ingo 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: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>