From: Zhao Hongjiang <zhaohongji...@huawei.com>

wake_up should do nothing on the nort, so we should use wakeup_timer_waiters,
also fix a spell mistake.

Cc: stable...@vger.kernel.org
Signed-off-by: Zhao Hongjiang <zhaohongji...@huawei.com>
[bigeasy: s/CONFIG_PREEMPT_RT_BASE/CONFIG_PREEMPT_RT_FULL/]
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
 kernel/timer.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/kernel/timer.c b/kernel/timer.c
index 027ce4e..61b57c1 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -76,7 +76,9 @@ struct tvec_root {
 struct tvec_base {
        spinlock_t lock;
        struct timer_list *running_timer;
+#ifdef CONFIG_PREEMPT_RT_FULL
        wait_queue_head_t wait_for_running_timer;
+#endif
        unsigned long timer_jiffies;
        unsigned long next_timer;
        unsigned long active_timers;
@@ -1006,7 +1008,7 @@ static void wait_for_running_timer(struct timer_list 
*timer)
                           base->running_timer != timer);
 }
 
-# define wakeup_timer_waiters(b)       wake_up(&(b)->wait_for_tunning_timer)
+# define wakeup_timer_waiters(b)       wake_up(&(b)->wait_for_running_timer)
 #else
 static inline void wait_for_running_timer(struct timer_list *timer)
 {
@@ -1251,7 +1253,7 @@ static inline void __run_timers(struct tvec_base *base)
                        spin_lock_irq(&base->lock);
                }
        }
-       wake_up(&base->wait_for_running_timer);
+       wakeup_timer_waiters(base);
        spin_unlock_irq(&base->lock);
 }
 
@@ -1765,7 +1767,9 @@ static int __cpuinit init_timers_cpu(int cpu)
                        base = &boot_tvec_bases;
                }
                spin_lock_init(&base->lock);
+#ifdef CONFIG_PREEMPT_RT_FULL
                init_waitqueue_head(&base->wait_for_running_timer);
+#endif
                tvec_base_done[cpu] = 1;
        } else {
                base = per_cpu(tvec_bases, cpu);
-- 
1.7.10.4


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to