diff options
author | Viresh Kumar <viresh.kumar@linaro.org> | 2014-09-05 09:36:59 +0530 |
---|---|---|
committer | Anders Roxell <anders.roxell@linaro.org> | 2014-09-29 11:15:02 +0200 |
commit | fe617ad8f9e9db59a3c27b9955712683ff927642 (patch) | |
tree | 16112ae3f68e3c032dafb1bbc5469897e181428a | |
parent | 0fae6818f1836b08c5882d27c20ad249e2c4e9a0 (diff) |
hrtimer: make sure PINNED flag is cleared after removing hrtimer
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
-rw-r--r-- | kernel/hrtimer.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index e3cd58bc7513..42983aa15337 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c @@ -975,6 +975,7 @@ remove_hrtimer(struct hrtimer *timer, struct hrtimer_clock_base *base) */ state = timer->state & HRTIMER_STATE_CALLBACK; __remove_hrtimer(timer, base, state, reprogram); + timer->state &= ~HRTIMER_STATE_PINNED; return 1; } return 0; @@ -1015,8 +1016,7 @@ int __hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim, timer_stats_hrtimer_set_start_info(timer); /* Update pinned state */ - timer->state &= ~HRTIMER_STATE_PINNED; - timer->state |= !!(mode & HRTIMER_MODE_PINNED) << HRTIMER_PINNED_SHIFT; + timer->state |= (!!(mode & HRTIMER_MODE_PINNED)) << HRTIMER_PINNED_SHIFT; leftmost = enqueue_hrtimer(timer, new_base); |