summaryrefslogtreecommitdiff
path: root/kernel/time/hrtimer.c
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2015-03-25 12:57:46 +0530
committerOlav Haugan <ohaugan@codeaurora.org>2016-09-20 17:47:12 -0700
commita66156c83c6de8dd2e614d6ad37afe7673ca1473 (patch)
tree4653725eab26dd3ee309cb502a00b26591808681 /kernel/time/hrtimer.c
parentf461d408acb522ec6db8ae34a49c2dbbd6092ab1 (diff)
hrtimer: make sure PINNED flag is cleared after removing hrtimer
Change-Id: Icc4d1c183e993b4b3c9b96ec9779c234e73ecab7 Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> [forward port to 3.18] Signed-off-by: Santosh Shukla <santosh.shukla@linaro.org> Git-commit: d6c894e515b4cd93c3a08e7c60cce0aa5118c656 Git-repo: git://git.linaro.org/people/mike.holmes/santosh.shukla/lng-isol.git Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Diffstat (limited to 'kernel/time/hrtimer.c')
-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 44ddf403fb01..ab304f854743 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -954,6 +954,7 @@ remove_hrtimer(struct hrtimer *timer, struct hrtimer_clock_base *base, bool rest
state = HRTIMER_STATE_INACTIVE;
__remove_hrtimer(timer, base, state, reprogram);
+ timer->state &= ~HRTIMER_STATE_PINNED;
return 1;
}
return 0;
@@ -1009,7 +1010,7 @@ void 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;
leftmost = enqueue_hrtimer(timer, new_base);
if (!leftmost)