diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c index 66885f6f8d4b..2feb5db24220 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c @@ -1452,8 +1452,8 @@ bool hrtimer_active(const struct hrtimer *timer) base = READ_ONCE(timer->base); seq = raw_read_seqcount_begin(&base->seq); - if (timer->state != HRTIMER_STATE_INACTIVE || - base->running == timer) + if (((timer->state & ~HRTIMER_STATE_PINNED) != + HRTIMER_STATE_INACTIVE) || base->running == timer) return true; } while (read_seqcount_retry(&base->seq, seq) ||