• Ming Lei's avatar
    ARM: 6952/1: fix lockdep warning of "unannotated irqs-off" · 9fc2552a
    Ming Lei authored
    This patch fixes the lockdep warning of "unannotated irqs-off"[1].
    
    After entering __irq_usr, arm core will disable interrupt automatically,
    but __irq_usr does not annotate the irq disable, so lockdep may complain
    the warning if it has chance to check this in irq handler.
    
    This patch adds trace_hardirqs_off in __irq_usr before entering irq_handler
    to handle the irq, also calls ret_to_user_from_irq to avoid calling
    disable_irq again.
    
    This is also a fix for irq off tracer.
    
    [1], lockdep warning log of "unannotated irqs-off"
    
    [   13.804687] ------------[ cut here ]------------
    [   13.809570] WARNING: at kernel/lockdep.c:3335 check_flags+0x78/0x1d0()
    [   13.816467] Modules linked in:
    [   13.819732] Backtrace:
    [   13.822357] [<c01cb42c>] (dump_backtrace+0x0/0x100) from [<c06abb14>] (dump_stack+0x20/0x24)
    [   13.831268]  r6:c07d8c2c r5:00000d07 r4:00000000 r3:00000000
    [   13.837280] [<c06abaf4>] (dump_stack+0x0/0x24) from [<c01ffc04>] (warn_slowpath_co...
    9fc2552a
entry-common.S 14.5 KB