• Satyam Sharma's avatar
    [POWERPC] Avoid pointless WARN_ON(irqs_disabled()) from panic codepath · 8fd7675c
    Satyam Sharma authored
    > ------------[ cut here ]------------
    > Badness at arch/powerpc/kernel/smp.c:202
    
    comes when smp_call_function_map() has been called with irqs disabled,
    which is illegal. However, there is a special case, the panic() codepath,
    when we do not want to warn about this -- warning at that time is pointless
    anyway, and only serves to scroll away the *real* cause of the panic and
    distracts from the real bug.
    
    * So let's extract the WARN_ON() from smp_call_function_map() into all its
      callers -- smp_call_function() and smp_call_function_single()
    
    * Also, introduce another caller of smp_call_function_map(), namely
      __smp_call_function() (and make smp_call_function() a wrapper over this)
      which does *not* warn about disabled irqs
    
    * Use this __smp_call_function() from the panic codepath's smp_send_stop()
    
    We also end having to move code of smp_send_stop() below the definition
    of __smp_call_function().
    Signed-off-by: default avatarSatyam Sharma <satyam@infradead.org>
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    8fd7675c
smp.c 13.2 KB