linux/arch/powerpc/kernel
Satyam Sharma 8fd7675c09 [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>
2007-09-22 14:49:22 +10:00
..
vdso32 [POWERPC] Fix VDSO gettimeofday() when called with NULL struct timeval 2007-06-26 14:41:19 +10:00
vdso64 Fix VDSO gettimeofday() when called with NULL struct timeval. 2007-06-29 21:27:00 -07:00
align.c [POWERPC] Handle alignment faults on SPE load/store instructions 2007-09-14 08:51:48 -05:00
asm-offsets.c [POWERPC] Size swapper_pg_dir correctly 2007-09-19 15:25:34 +10:00
audit.c [PATCH] audit signal recipients 2007-05-11 05:38:25 -04:00
binfmt_elf32.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
btext.c [POWERPC] Clean out a bunch of duplicate includes 2007-08-17 11:01:51 +10:00
compat_audit.c [PATCH] add SIGNAL syscall class (v3) 2007-05-11 05:38:25 -04:00
cpu_setup_6xx.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cpu_setup_pa6t.S [POWERPC] pasemi: Enable one more hid bit 2007-04-24 21:31:49 +10:00
cpu_setup_ppc970.S [POWERPC] powerpc: Enable DEEPNAP power savings mode on 970MP 2006-10-16 16:32:25 +10:00
cputable.c [POWERPC] Add cpu feature for SPE handling 2007-09-14 08:53:30 -05:00
crash_dump.c [POWERPC] FWNMI is only used on pSeries 2007-09-19 15:25:34 +10:00
crash.c [POWERPC] Clean out a bunch of duplicate includes 2007-08-17 11:01:51 +10:00
dma_64.c [POWERPC] Make direct DMA use node local allocations 2006-12-04 20:38:59 +11:00
entry_32.S [POWERPC] Add cpu feature for SPE handling 2007-09-14 08:53:30 -05:00
entry_64.S [POWERPC] Remove barriers from the SLB shadow buffer update 2007-09-19 14:40:54 +10:00
firmware.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
fpu.S [POWERPC] Restore copyright notice in arch/powerpc/kernel/fpu.S 2006-08-30 14:45:35 +10:00
head_8xx.S [POWERPC] Remove cmd_line from head*.S 2007-09-19 15:25:34 +10:00
head_32.S [POWERPC] Remove cmd_line from head*.S 2007-09-19 15:25:34 +10:00
head_40x.S [POWERPC] Remove cmd_line from head*.S 2007-09-19 15:25:34 +10:00
head_44x.S [POWERPC] Remove cmd_line from head*.S 2007-09-19 15:25:34 +10:00
head_64.S [POWERPC] FWNMI is only used on pSeries 2007-09-19 15:25:34 +10:00
head_booke.h [PATCH] powerpc: Fix Kernel FP unavail exception for BookE 2006-02-10 16:51:50 +11:00
head_fsl_booke.S [POWERPC] Remove cmd_line from head*.S 2007-09-19 15:25:34 +10:00
ibmebus.c [POWERPC] Don't cast kmalloc return value in ibmebus.c 2007-09-19 14:40:54 +10:00
idle_6xx.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
idle_power4.S [POWERPC] powermac: Support G5 CPU hotplug 2007-05-07 20:31:13 +10:00
idle.c [POWERPC] powermac: Suspend to disk on G5 2007-05-07 20:31:14 +10:00
init_task.c [PATCH] nsproxy: move init_nsproxy into kernel/nsproxy.c 2006-10-02 07:57:20 -07:00
io.c [POWERPC] Move inline asm eieio to using eieio inline function 2007-07-10 00:33:14 -05:00
iomap.c [POWERPC] Add 64-bit resources support to pci_iomap 2007-09-20 07:36:52 -05:00
iommu.c [POWERPC] Clean out a bunch of duplicate includes 2007-08-17 11:01:51 +10:00
irq.c [POWERPC] Export virq mapping via debugfs 2007-09-14 01:33:20 +10:00
isa-bridge.c [POWERPC] Rewrite IO allocation & mapping on powerpc64 2007-06-14 22:29:56 +10:00
kprobes.c jprobes: make jprobes a little safer for users 2007-07-19 10:04:44 -07:00
l2cr_6xx.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
legacy_serial.c [POWERPC] Move serial_dev_init to device_initcall() 2007-09-13 04:09:14 +10:00
lparcfg.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
machine_kexec_32.c Storage class should be first 2006-06-26 18:57:34 +02:00
machine_kexec_64.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
machine_kexec.c [POWERPC] Move some kexec logic into machine_kexec.c 2006-08-17 16:41:10 +10:00
Makefile [POWERPC] iSeries: Clean up lparmap mess 2007-08-22 15:21:46 +10:00
misc_32.S [POWERPC] Fix small race in 44x tlbie function 2007-08-15 15:12:50 +10:00
misc_64.S [POWERPC] kexec: Send slaves to new kernel earlier 2007-06-25 16:55:16 +10:00
misc.S [POWERPC] convert string i/o operations to C 2006-09-20 14:06:18 +10:00
module_32.c [POWERPC] Add support for R_PPC_ADDR16_HI relocations 2007-01-24 21:13:58 +11:00
module_64.c [POWERPC] Generic BUG for powerpc 2006-12-11 16:35:07 +11:00
msi.c [POWERPC] PowerPC MSI infrastructure 2007-05-08 13:40:31 +10:00
nvram_64.c [POWERPC] pseries: Eliminate global error_log_cnt variable 2007-08-17 11:01:52 +10:00
of_device.c Begin to consolidate of_device.c 2007-07-20 13:39:59 +10:00
of_platform.c Create drivers/of/platform.c 2007-07-20 14:25:51 +10:00
paca.c [POWERPC] Implement SLB shadow buffer 2006-08-08 17:08:56 +10:00
pci_32.c [POWERPC] null_pci_ops: Use named structure member initializers 2007-08-17 11:01:53 +10:00
pci_64.c [POWERPC] Fix initialization and usage of dma_mask 2007-08-10 21:04:42 +10:00
pci_dn.c [POWERPC] Fix section mismatch in PCI code 2007-09-19 15:25:34 +10:00
pci-common.c Merge branch 'fixes-2.6.23' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into merge 2007-07-26 16:43:24 +10:00
pmc.c [POWERPC] Fix typo: MMCR0_PMA0 != MMCR0_PMAO 2007-05-22 20:20:56 +10:00
ppc32.h powerpc: move include/asm-ppc64/ppc32.h to arch/powerpc/kernel 2005-11-03 16:03:28 +11:00
ppc_ksyms.c [POWERPC] Fix 40x build 2007-08-20 07:29:36 -05:00
proc_ppc64.c [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
process.c [POWERPC] Add cpu feature for SPE handling 2007-09-14 08:53:30 -05:00
prom_init.c [POWERPC] prom_init whitespace cleanup, typo fix 2007-09-14 01:33:24 +10:00
prom_parse.c Revert "[POWERPC] Don't complain if size-cells == 0 in prom_parse()" 2007-07-26 13:44:36 +10:00
prom.c [POWERPC] setup_64.c and prom.c comment cleanup 2007-09-14 01:33:24 +10:00
ptrace32.c [POWERPC] ptrace shouldn't touch FP exec mode 2007-06-14 22:29:57 +10:00
ptrace.c [POWERPC] Add cpu feature for SPE handling 2007-09-14 08:53:30 -05:00
rtas_flash.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
rtas_pci.c [POWERPC] rtas_pci_ops: Use named structure member initializers 2007-08-17 11:01:53 +10:00
rtas-proc.c [POWERPC] Fix ppc_rtas_progress_show() 2007-05-17 21:11:15 +10:00
rtas-rtc.c [PATCH] powerpc: reorg RTAS delay code 2006-06-09 21:21:06 +10:00
rtas.c [POWERPC] Remove old interface find_path_device 2007-04-24 22:08:59 +10:00
semaphore.c
setup_32.c [POWERPC] Remove old includes from arch/ppc 2007-08-22 22:39:35 -05:00
setup_64.c [POWERPC] setup_64.c and prom.c comment cleanup 2007-09-14 01:33:24 +10:00
setup-common.c [POWERPC] Remove cmd_line from head*.S 2007-09-19 15:25:34 +10:00
setup.h [PATCH] powerpc: Make early xmon logic immune to location of early parsing 2006-05-19 15:02:12 +10:00
signal_32.c [POWERPC] Merge creation of signal frame 2007-06-14 22:29:58 +10:00
signal_64.c Merge branch 'for-2.6.23' into merge 2007-07-11 13:28:26 +10:00
signal.c [POWERPC] Less ifdef's in signal.c/signal.h 2007-06-14 22:29:58 +10:00
signal.h [POWERPC] Less ifdef's in signal.c/signal.h 2007-06-14 22:29:58 +10:00
smp-tbsync.c [POWERPC] Replace kmalloc+memset with kzalloc 2006-12-04 20:42:09 +11:00
smp.c [POWERPC] Avoid pointless WARN_ON(irqs_disabled()) from panic codepath 2007-09-22 14:49:22 +10:00
suspend.c [PATCH] x86: Move swsusp __pa() dependent code to arch portion 2007-05-02 19:27:07 +02:00
swsusp_32.S [PATCH] Change the name of pagedir_nosave 2006-09-26 08:49:01 -07:00
swsusp_64.c [POWERPC] powermac: Suspend to disk on G5 2007-05-07 20:31:14 +10:00
swsusp_asm64.S [POWERPC] powermac: Suspend to disk on G5 2007-05-07 20:31:14 +10:00
swsusp.c powerpc: fixup hard_irq_disable semantics 2007-05-11 08:29:34 -07:00
sys_ppc32.c sys_fallocate() implementation on i386, x86_64 and powerpc 2007-07-17 21:42:44 -04:00
syscalls.c Remove fs.h from mm.h 2007-07-29 17:09:29 -07:00
sysfs.c [POWERPC] Remove warning in arch/powerpc/kernel/sysfs.c 2007-09-14 01:33:22 +10:00
systbl.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
tau_6xx.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
time.c Merge branch 'linux-2.6' 2007-09-20 10:09:27 +10:00
traps.c [POWERPC] Remove unused platform_machine_check() 2007-09-14 01:33:22 +10:00
udbg_16550.c [POWERPC] 4xx: Implement udbg_getc() for 440 2007-09-19 21:13:17 -05:00
udbg.c [POWREPC] Fixup a number of modpost warnings on ppc32 2007-07-26 00:16:21 -05:00
vdso.c [POWERPC] Don't expose clock vDSO functions when CPU has no timebase 2007-09-19 15:26:34 +10:00
vecemu.c
vector.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
vio.c Merge branch 'linux-2.6' 2007-05-08 13:37:51 +10:00
vmlinux.lds.S [POWERPC] Fix modpost warnings from head*.S on ppc32 2007-09-14 08:53:36 -05:00