diff --git a/kernel/events/callchain.c b/kernel/events/callchain.c index 76a8bc5f62658a5004966fc4af7fc6f197d6f76d..97b67df8fbfed0fe7d3cdbcec0ed213b5df80e6b 100644 --- a/kernel/events/callchain.c +++ b/kernel/events/callchain.c @@ -116,10 +116,11 @@ int get_callchain_buffers(void) err = alloc_callchain_buffers(); exit: - mutex_unlock(&callchain_mutex); if (err) atomic_dec(&nr_callchain_events); + mutex_unlock(&callchain_mutex); + return err; }