diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 1142a7802bb6055ac145378c0ba62d7eb1ed9126..ffe1422ab03f888101f836e73d4c14b47ce3b54c 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -6125,8 +6125,7 @@ int tracing_set_tracer(struct trace_array *tr, const char *buf)
 	if (t->use_max_tr) {
 		local_irq_disable();
 		arch_spin_lock(&tr->max_lock);
-		if (tr->cond_snapshot)
-			ret = -EBUSY;
+		ret = tr->cond_snapshot ? -EBUSY : 0;
 		arch_spin_unlock(&tr->max_lock);
 		local_irq_enable();
 		if (ret)