summaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-common/smp.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-07-20 16:46:49 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-07-20 16:46:49 -0700
commitae42b9e1ca8969d52e51f5e461b2e89e180943dd (patch)
tree50d923090281ff611e7019d84daac8d051a18efd /arch/blackfin/mach-common/smp.c
parent6cdbf734493d6e8f5afc6f539b82897772809d43 (diff)
parent6843f405da9d0adf734d8f695311e29cc92a220c (diff)
downloadtalos-op-linux-ae42b9e1ca8969d52e51f5e461b2e89e180943dd.tar.gz
talos-op-linux-ae42b9e1ca8969d52e51f5e461b2e89e180943dd.zip
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (21 commits) Blackfin: define HARDIRQ_BITS again for now arch/blackfin: Add kmalloc NULL tests Blackfin: add CPLB entries for Core B on-chip L1 SRAM regions Blackfin: work around anomaly 05000189 Blackfin: drop per-cpu loops_per_jiffy tracking Blackfin: fix bugs in GPIO resume code Blackfin: bf537-stamp: fix irq decl for AD7142 Blackfin: fix handling of IPEND in interrupt context save Blackfin: drop duplicate runtime checking of anomaly 05000448 Blackfin: fix incomplete renaming of the bfin-twi-lcd driver Blackfin: fix wrong CTS inversion Blackfin: update handling of anomaly 364 (wrong rev id in BF527-0.1) Blackfin: fix early_dma_memcpy() handling of busy channels Blackfin: handle BF561 Core B memory regions better when SMP=n Blackfin: fix miscompilation in lshrdi3 Blackfin: fix silent crash when no uClinux MTD filesystem exists Blackfin: restore exception banner when dumping crash info Blackfin: work around anomaly 05000281 Blackfin: update anomaly lists to match latest sheets/usage Blackfin: drop dead flash_probe call ...
Diffstat (limited to 'arch/blackfin/mach-common/smp.c')
-rw-r--r--arch/blackfin/mach-common/smp.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/blackfin/mach-common/smp.c b/arch/blackfin/mach-common/smp.c
index 61840059dfac..349ee3f5466a 100644
--- a/arch/blackfin/mach-common/smp.c
+++ b/arch/blackfin/mach-common/smp.c
@@ -211,6 +211,8 @@ int smp_call_function(void (*func)(void *info), void *info, int wait)
return 0;
msg = kmalloc(sizeof(*msg), GFP_ATOMIC);
+ if (!msg)
+ return -ENOMEM;
INIT_LIST_HEAD(&msg->list);
msg->call_struct.func = func;
msg->call_struct.info = info;
@@ -252,6 +254,8 @@ int smp_call_function_single(int cpuid, void (*func) (void *info), void *info,
cpu_set(cpu, callmap);
msg = kmalloc(sizeof(*msg), GFP_ATOMIC);
+ if (!msg)
+ return -ENOMEM;
INIT_LIST_HEAD(&msg->list);
msg->call_struct.func = func;
msg->call_struct.info = info;
@@ -287,6 +291,8 @@ void smp_send_reschedule(int cpu)
return;
msg = kmalloc(sizeof(*msg), GFP_ATOMIC);
+ if (!msg)
+ return;
memset(msg, 0, sizeof(msg));
INIT_LIST_HEAD(&msg->list);
msg->type = BFIN_IPI_RESCHEDULE;
@@ -314,6 +320,8 @@ void smp_send_stop(void)
return;
msg = kmalloc(sizeof(*msg), GFP_ATOMIC);
+ if (!msg)
+ return;
memset(msg, 0, sizeof(msg));
INIT_LIST_HEAD(&msg->list);
msg->type = BFIN_IPI_CPU_STOP;
@@ -450,7 +458,7 @@ void __init smp_cpus_done(unsigned int max_cpus)
unsigned int cpu;
for_each_online_cpu(cpu)
- bogosum += per_cpu(cpu_data, cpu).loops_per_jiffy;
+ bogosum += loops_per_jiffy;
printk(KERN_INFO "SMP: Total of %d processors activated "
"(%lu.%02lu BogoMIPS).\n",
OpenPOWER on IntegriCloud