summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorNeil Leeder <nleeder@codeaurora.org>2015-07-02 15:45:19 -0400
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:58:13 -0700
commite9e1c5a00f91ac70382cae9f60ddc02e19db15f8 (patch)
treeb1a531c8a371b88c2e6e9eebd7d1708d023fded7 /kernel
parent182eeb0c0daf70acd8ebf739f77078f0c9425540 (diff)
perf: pass correct parameter when removing event
An incorrect pointer to the event was being passed, instead of pointer to the remove event struct. Pass the correct pointer. Change-Id: I7c35c5bb3a14d74a9b36c3d1dbd7af0bf80e7efe Signed-off-by: Neil Leeder <nleeder@codeaurora.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/events/core.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 2050f3245ed7..c983e56b654f 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -1662,7 +1662,8 @@ static int __perf_remove_from_context(void *info)
#ifdef CONFIG_SMP
-static void perf_retry_remove(struct perf_event *event)
+static void perf_retry_remove(struct perf_event *event,
+ struct remove_event *rep)
{
int up_ret;
/*
@@ -1673,13 +1674,14 @@ static void perf_retry_remove(struct perf_event *event)
if (!up_ret)
/* Try the remove call once again. */
cpu_function_call(event->cpu, __perf_remove_from_context,
- event);
+ rep);
else
pr_err("Failed to bring up CPU: %d, ret: %d\n",
event->cpu, up_ret);
}
#else
-static void perf_retry_remove(struct perf_event *event)
+static void perf_retry_remove(struct perf_event *event,
+ struct remove_event *rep)
{
}
#endif
@@ -1720,7 +1722,7 @@ static void __ref perf_remove_from_context(struct perf_event *event,
ret = cpu_function_call(event->cpu, __perf_remove_from_context,
&re);
if (ret == -ENXIO)
- perf_retry_remove(event);
+ perf_retry_remove(event, &re);
return;
}