diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 1276b3ca15982b8a55dea94a6f2cf8e3d688640f..b1e8943fed1d3a9fd61916527c59c70d57af7d2c 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -1211,7 +1211,9 @@ ftrace_hash_move(struct ftrace_ops *ops, int enable,
 	if (!src->count) {
 		free_ftrace_hash_rcu(*dst);
 		rcu_assign_pointer(*dst, EMPTY_HASH);
-		return 0;
+		/* still need to update the function records */
+		ret = 0;
+		goto out;
 	}
 
 	/*