diff options
| author | 2022-05-01 23:25:10 +0200 | |
|---|---|---|
| committer | 2022-05-01 23:25:10 +0200 | |
| commit | f930b69a8944ab3f018e2a175ddbd16e71348df9 (patch) | |
| tree | bfde4972394d741196bcd1cf173bfda4639123a7 /kernel/time/timer.c | |
| parent | pinctrl/rockchip: add rk3588 support (diff) | |
| parent | Linux 5.18-rc5 (diff) | |
| download | linux-rng-f930b69a8944ab3f018e2a175ddbd16e71348df9.tar.xz linux-rng-f930b69a8944ab3f018e2a175ddbd16e71348df9.zip | |
Merge tag 'v5.18-rc5' into devel
Merge in Linux 5.18-rc5 since new code to the STM32 driver
depend in a non-trivial way on the fixes merged in -rc5.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'kernel/time/timer.c')
| -rw-r--r-- | kernel/time/timer.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/kernel/time/timer.c b/kernel/time/timer.c index 85f1021ad459..9dd2a39cb3b0 100644 --- a/kernel/time/timer.c +++ b/kernel/time/timer.c @@ -1722,11 +1722,14 @@ static inline void __run_timers(struct timer_base *base) time_after_eq(jiffies, base->next_expiry)) { levels = collect_expired_timers(base, heads); /* - * The only possible reason for not finding any expired - * timer at this clk is that all matching timers have been - * dequeued. + * The two possible reasons for not finding any expired + * timer at this clk are that all matching timers have been + * dequeued or no timer has been queued since + * base::next_expiry was set to base::clk + + * NEXT_TIMER_MAX_DELTA. */ - WARN_ON_ONCE(!levels && !base->next_expiry_recalc); + WARN_ON_ONCE(!levels && !base->next_expiry_recalc + && base->timers_pending); base->clk++; base->next_expiry = __next_timer_interrupt(base); |
