aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Luck <tony.luck@intel.com>2011-08-11 12:27:54 -0400
committerTony Luck <tony.luck@intel.com>2011-08-11 12:27:54 -0400
commitd5d4e02874537d65ed2f431d39bf2f6d2967bd1b (patch)
tree78844825f801f1d8476ce512ff9772ec46e7c1a0
parent322a8b034003c0d46d39af85bf24fee27b902f48 (diff)
[IA64] sn2: add missing put_cpu()
sn_hwperf_op_cpu() uses get_cpu() but is missing a corresponding put_cpu(). Reported-by: Thomas Meyer <thomas@m3y3r.de> Acked-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
-rw-r--r--arch/ia64/sn/kernel/sn2/sn_hwperf.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/ia64/sn/kernel/sn2/sn_hwperf.c b/arch/ia64/sn/kernel/sn2/sn_hwperf.c
index 30862c0358cd..2de41d44266e 100644
--- 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)
615 } 615 }
616 } 616 }
617 617
618 if (cpu == SN_HWPERF_ARG_ANY_CPU || cpu == get_cpu()) { 618 if (cpu == SN_HWPERF_ARG_ANY_CPU) {
619 /* don't care, or already on correct cpu */ 619 /* don't care which cpu */
620 sn_hwperf_call_sal(op_info); 620 sn_hwperf_call_sal(op_info);
621 } 621 } else if (cpu == get_cpu()) {
622 else { 622 /* already on correct cpu */
623 sn_hwperf_call_sal(op_info);
624 put_cpu();
625 } else {
626 put_cpu();
623 if (use_ipi) { 627 if (use_ipi) {
624 /* use an interprocessor interrupt to call SAL */ 628 /* use an interprocessor interrupt to call SAL */
625 smp_call_function_single(cpu, sn_hwperf_call_sal, 629 smp_call_function_single(cpu, sn_hwperf_call_sal,