diff options
author | Satyam Sharma <satyam@infradead.org> | 2007-09-18 09:43:40 +1000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-09-22 14:49:22 +1000 |
commit | 8fd7675c092f79f240246c76728477ec4e7f7f09 (patch) | |
tree | 848a6f4d312711a84b882e74c093e30158a86c7b /arch/powerpc/kernel/setup_32.c | |
parent | 17b5ee04c09a158129eb538933eae7be956190e9 (diff) |
[POWERPC] Avoid pointless WARN_ON(irqs_disabled()) from panic codepath
> ------------[ 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: Satyam Sharma <satyam@infradead.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/setup_32.c')
0 files changed, 0 insertions, 0 deletions