projects
/
platform
/
adaptation
/
renesas_rcar
/
renesas_kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[IA64] sn2: add missing put_cpu()
[platform/adaptation/renesas_rcar/renesas_kernel.git]
/
arch
/
ia64
/
sn
/
kernel
/
sn2
/
sn_hwperf.c
diff --git
a/arch/ia64/sn/kernel/sn2/sn_hwperf.c
b/arch/ia64/sn/kernel/sn2/sn_hwperf.c
index
30862c0
..
2de41d4
100644
(file)
--- a/
arch/ia64/sn/kernel/sn2/sn_hwperf.c
+++ b/
arch/ia64/sn/kernel/sn2/sn_hwperf.c
@@
-615,11
+615,15
@@
static int sn_hwperf_op_cpu(struct sn_hwperf_op_info *op_info)
}
}
}
}
- if (cpu == SN_HWPERF_ARG_ANY_CPU
|| cpu == get_cpu()
) {
- /* don't care
, or already on correct
cpu */
+ if (cpu == SN_HWPERF_ARG_ANY_CPU) {
+ /* don't care
which
cpu */
sn_hwperf_call_sal(op_info);
sn_hwperf_call_sal(op_info);
- }
- else {
+ } else if (cpu == get_cpu()) {
+ /* already on correct cpu */
+ sn_hwperf_call_sal(op_info);
+ put_cpu();
+ } else {
+ put_cpu();
if (use_ipi) {
/* use an interprocessor interrupt to call SAL */
smp_call_function_single(cpu, sn_hwperf_call_sal,
if (use_ipi) {
/* use an interprocessor interrupt to call SAL */
smp_call_function_single(cpu, sn_hwperf_call_sal,