Commit 38cd4cee authored by Sebastian Andrzej Siewior's avatar Sebastian Andrzej Siewior Committed by Thomas Gleixner

timers: Add sparse annotation for timer_sync_wait_running().

timer_sync_wait_running() first releases two locks and then acquires
them again. This is unexpected and sparse complains about it.

Add sparse annotation for timer_sync_wait_running() to note that the
locking is expected.
Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20240812105326.2240000-2-bigeasy@linutronix.de
parent 9a7b0158
...@@ -1561,6 +1561,8 @@ static inline void timer_base_unlock_expiry(struct timer_base *base) ...@@ -1561,6 +1561,8 @@ static inline void timer_base_unlock_expiry(struct timer_base *base)
* the waiter to acquire the lock and make progress. * the waiter to acquire the lock and make progress.
*/ */
static void timer_sync_wait_running(struct timer_base *base) static void timer_sync_wait_running(struct timer_base *base)
__releases(&base->lock) __releases(&base->expiry_lock)
__acquires(&base->expiry_lock) __acquires(&base->lock)
{ {
if (atomic_read(&base->timer_waiters)) { if (atomic_read(&base->timer_waiters)) {
raw_spin_unlock_irq(&base->lock); raw_spin_unlock_irq(&base->lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment