summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavlin Radoslavov <pavlin@google.com>2015-05-08 19:39:31 -0700
committerPavlin Radoslavov <pavlin@google.com>2015-05-08 19:43:06 -0700
commit98d775444ced716aac74eddb5471a49b5ca6f798 (patch)
tree297d13dd44cc3efc39bc98dd56ebe4a6f3d9652c
parenta12ed698718e2e39d9c2083afe8cb8368ba19806 (diff)
downloadandroid_system_bt-98d775444ced716aac74eddb5471a49b5ca6f798.tar.gz
android_system_bt-98d775444ced716aac74eddb5471a49b5ca6f798.tar.bz2
android_system_bt-98d775444ced716aac74eddb5471a49b5ca6f798.zip
Elimininate unnecessary calls for releasing the wake lock.
Bug: 20884459 Change-Id: Id010cb29cf09b95800dc9f5fd5b660e71e4a47bc
-rw-r--r--osi/src/alarm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/osi/src/alarm.c b/osi/src/alarm.c
index 1ce58bc1c..55b65d2ee 100644
--- a/osi/src/alarm.c
+++ b/osi/src/alarm.c
@@ -256,6 +256,7 @@ static void schedule_next_instance(alarm_t *alarm, bool force_reschedule) {
// NOTE: must be called with monitor lock.
static void reschedule_root_alarm(void) {
+ bool timer_was_set = timer_set;
assert(alarms != NULL);
// If used in a zeroed state, disarms the timer
@@ -285,7 +286,7 @@ static void reschedule_root_alarm(void) {
done:
timer_set = wakeup_time.it_value.tv_sec != 0 || wakeup_time.it_value.tv_nsec != 0;
- if (!timer_set) {
+ if (timer_was_set && !timer_set) {
bt_os_callouts->release_wake_lock(WAKE_LOCK_ID);
}