aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2015-03-25 12:57:46 +0530
committerGary S. Robertson <gary.robertson@linaro.org>2015-07-22 16:17:09 -0500
commitf92531f05b031a8aade5c06d834effca90ab2275 (patch)
treef56de272328dd7831531d270c8e03f8a26083c2a
parentd67da05964003a7f9765b5fc66c1beb88bc62b25 (diff)
hrtimer: make sure PINNED flag is cleared after removing hrtimer
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> [forward port to 3.18] Signed-off-by: Santosh Shukla <santosh.shukla@linaro.org>
-rw-r--r--kernel/time/hrtimer.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
index cc6d4b745d9a..c0572ef3b404 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -1009,6 +1009,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;
@@ -1050,7 +1051,7 @@ int __hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
/* 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;
#ifdef CONFIG_MISSED_TIMER_OFFSETS_HIST
{