diff --git a/kernel/sched/walt/boost.c b/kernel/sched/walt/boost.c index 451b1090c60c..521933dec5d8 100644 --- a/kernel/sched/walt/boost.c +++ b/kernel/sched/walt/boost.c @@ -174,7 +174,7 @@ static int sched_effective_boost(void) static void sched_boost_disable(int type) { struct sched_boost_data *sb = &sched_boosts[type]; - int next_boost; + int next_boost, prev_boost = sched_boost_type; if (sb->refcount <= 0) return; @@ -192,6 +192,9 @@ static void sched_boost_disable(int type) sb->exit(); next_boost = sched_effective_boost(); + if (next_boost == prev_boost) + return; + sched_boosts[next_boost].enter(); }