OSDN Git Service

A2DP task media alarm non-null protection
authorAjay Panicker <apanicke@google.com>
Wed, 6 Jan 2016 20:11:05 +0000 (12:11 -0800)
committerAjay Panicker <apanicke@google.com>
Thu, 7 Jan 2016 21:45:21 +0000 (13:45 -0800)
Prevent the alarm from being started multiple times.

Bug: 26277592
Change-Id: I764f93bab5490bf5f3942a1beb706457197d3ec1

btif/src/btif_media_task.c

index df70689..772bdce 100644 (file)
@@ -2191,6 +2191,11 @@ static void btif_media_task_aa_start_tx(void)
     APPL_TRACE_DEBUG("btif_media_task_aa_start_tx is timer %d, feeding mode %d",
              btif_media_cb.is_tx_timer, btif_media_cb.feeding_mode);
 
+    if (btif_media_cb.is_tx_timer) {
+      LOG_ERROR(LOG_TAG, "%s media alarm already running", __func__);
+      return;
+    }
+
     /* Use a timer to poll the UIPC, get rid of the UIPC call back */
     // UIPC_Ioctl(UIPC_CH_ID_AV_AUDIO, UIPC_REG_CBACK, NULL);
 
@@ -2210,7 +2215,8 @@ static void btif_media_task_aa_start_tx(void)
       return;
     }
 
-    alarm_set_periodic(btif_media_cb.media_alarm, BTIF_MEDIA_TIME_TICK, btif_media_task_alarm_cb, NULL);
+    alarm_set_periodic(btif_media_cb.media_alarm, BTIF_MEDIA_TIME_TICK,
+                       btif_media_task_alarm_cb, NULL);
 }
 
 /*******************************************************************************