hrtimer.h: prevent pinned timer state from breaking inactive test
An hrtimer may be pinned to a CPU but inactive, so it is no longer valid to test the hrtimer.state struct member as having no bits set when inactive. Changed the test function to mask out the HRTIMER_STATE_PINNED bit when checking for inactive state. Change-Id: Icb4156f4b7cb10138ea6c5cd5b762e35dc25428d Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org> [ohaugan@codeaurora.org: Port to 4.4] Git-commit: 902e4d4eb0d2158d2792166221a72a829caecf07 Git-repo: git://git.linaro.org/people/mike.holmes/santosh.shukla/lng-isol.git Signed-off-by: Olav Haugan <ohaugan@codeaurora.org> [satyap@codeaurora.org: Port to 4.19 and fix merge conflicts] Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
This commit is contained in:
parent
1344cf5f0f
commit
fe3df39e04
1 changed files with 2 additions and 2 deletions
|
@ -1336,8 +1336,8 @@ bool hrtimer_active(const struct hrtimer *timer)
|
|||
base = READ_ONCE(timer->base);
|
||||
seq = raw_read_seqcount_begin(&base->seq);
|
||||
|
||||
if (timer->state != HRTIMER_STATE_INACTIVE ||
|
||||
base->running == timer)
|
||||
if (((timer->state & ~HRTIMER_STATE_PINNED) !=
|
||||
HRTIMER_STATE_INACTIVE) || base->running == timer)
|
||||
return true;
|
||||
|
||||
} while (read_seqcount_retry(&base->seq, seq) ||
|
||||
|
|
Loading…
Add table
Reference in a new issue