summaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_event_perf.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2010-10-06 19:11:17 -0700
committerDavid S. Miller <davem@davemloft.net>2010-10-06 19:11:17 -0700
commit12e94471b2be5ef9b55b10004a3a2cd819490036 (patch)
treef84ae818687dc7c35bd54f11bfb9717278d28a4e /kernel/trace/trace_event_perf.c
parent79315068f4560f3f7bd6e9790190dcb43059770c (diff)
parentcb655d0f3d57c23db51b981648e452988c0223f9 (diff)
downloadlinux-12e94471b2be5ef9b55b10004a3a2cd819490036.tar.bz2
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'kernel/trace/trace_event_perf.c')
-rw-r--r--kernel/trace/trace_event_perf.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/trace/trace_event_perf.c b/kernel/trace/trace_event_perf.c
index 000e6e85b445..31cc4cb0dbf2 100644
--- a/kernel/trace/trace_event_perf.c
+++ b/kernel/trace/trace_event_perf.c
@@ -91,6 +91,8 @@ int perf_trace_init(struct perf_event *p_event)
tp_event->class && tp_event->class->reg &&
try_module_get(tp_event->mod)) {
ret = perf_trace_event_init(tp_event, p_event);
+ if (ret)
+ module_put(tp_event->mod);
break;
}
}
@@ -146,6 +148,7 @@ void perf_trace_destroy(struct perf_event *p_event)
}
}
out:
+ module_put(tp_event->mod);
mutex_unlock(&event_mutex);
}