Skip to content
  • Heiko Carstens's avatar
    [S390] Fix IRQ tracing. · b771aeac
    Heiko Carstens authored
    
    
    If a machine check is pending and the external or I/O interrupt handler
    returns to userspace io_mcck_pending is going to call s390_handle_mcck.
    Before this happens a call to TRACE_IRQS_ON was already made since we
    know that we are going back to userspace and hence interrupts will be
    enabled. So there was an indication that interrupts are enabled while
    in reality they are still disabled.
    s390_handle_mcck will do a local_irq_save/restore pair and confuse
    lockdep which later complains about inconsistent irq tracing.
    To solve this just call trace_hardirqs_off before calling
    s390_handle_mcck and trace_hardirqs_on afterwards.
    
    Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    b771aeac