From 52a4a1ec75b588d1785a2ce138e53a554a1ad813 Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Mon, 17 May 2021 15:23:27 +0200 Subject: [PATCH] Kernel: Fix return value for {enable,disable}_profile_timer() These functions should return success when being called when profiling has been requested from multiple callers because enabling/disabling the timer is a no-op in that case and thus didn't fail. --- Kernel/Time/TimeManagement.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Kernel/Time/TimeManagement.cpp b/Kernel/Time/TimeManagement.cpp index deb282782b..ff4ef7f9fb 100644 --- a/Kernel/Time/TimeManagement.cpp +++ b/Kernel/Time/TimeManagement.cpp @@ -402,20 +402,20 @@ void TimeManagement::system_timer_tick(const RegisterState& regs) bool TimeManagement::enable_profile_timer() { - if (m_profile_timer && m_profile_enable_count.fetch_add(1) == 0) { - m_profile_timer->try_to_set_frequency(m_profile_timer->calculate_nearest_possible_frequency(OPTIMAL_PROFILE_TICKS_PER_SECOND_RATE)); - return true; - } - return false; + if (!m_profile_timer) + return false; + if (m_profile_enable_count.fetch_add(1) == 0) + return m_profile_timer->try_to_set_frequency(m_profile_timer->calculate_nearest_possible_frequency(OPTIMAL_PROFILE_TICKS_PER_SECOND_RATE)); + return true; } bool TimeManagement::disable_profile_timer() { - if (m_profile_timer && m_profile_enable_count.fetch_sub(1) == 1) { - m_profile_timer->try_to_set_frequency(m_profile_timer->calculate_nearest_possible_frequency(1)); - return true; - } - return false; + if (!m_profile_timer) + return false; + if (m_profile_enable_count.fetch_sub(1) == 1) + return m_profile_timer->try_to_set_frequency(m_profile_timer->calculate_nearest_possible_frequency(1)); + return true; } }