diff options
author | Steve Kondik <steve@cyngn.com> | 2016-01-19 00:48:00 -0800 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2016-01-19 00:48:00 -0800 |
commit | d4cd18182d0868a1018436f8e917f5580abdc1fa (patch) | |
tree | 4fa76ea708ed02f4b31f0974b2a082b85a348a91 | |
parent | 80a7a7dc3125e463d06e7215feb3f5a27c4f3352 (diff) | |
parent | 1707433a801bc48855fc66f9c9914bd99f94ad3c (diff) | |
download | android_system_bt-d4cd18182d0868a1018436f8e917f5580abdc1fa.tar.gz android_system_bt-d4cd18182d0868a1018436f8e917f5580abdc1fa.tar.bz2 android_system_bt-d4cd18182d0868a1018436f8e917f5580abdc1fa.zip |
Merge branch 'LA.BF.1.1.3_rb1.8' of git://codeaurora.org/platform/system/bt into cm-13.0
-rw-r--r-- | btcore/src/module.c | 5 | ||||
-rw-r--r-- | btif/src/btif_av.c | 2 | ||||
-rw-r--r-- | btif/src/btif_media_task.c | 41 | ||||
-rw-r--r-- | stack/btm/btm_acl.c | 4 | ||||
-rw-r--r-- | stack/sdp/sdp_utils.c | 5 |
5 files changed, 34 insertions, 23 deletions
diff --git a/btcore/src/module.c b/btcore/src/module.c index 745a36893..700301d77 100644 --- a/btcore/src/module.c +++ b/btcore/src/module.c @@ -33,7 +33,8 @@ typedef enum { MODULE_STATE_NONE = 0, MODULE_STATE_INITIALIZED = 1, - MODULE_STATE_STARTED = 2 + MODULE_STATE_STARTED = 2, + MODULE_STATE_STARTUP_ERROR = 3 } module_state_t; static const size_t number_of_metadata_buckets = 42; @@ -97,6 +98,7 @@ bool module_start_up(const module_t *module) { if (!call_lifecycle_function(module->start_up)) { LOG_ERROR("%s failed to start up \"%s\"", __func__, module->name); + set_module_state(module, MODULE_STATE_STARTUP_ERROR); return false; } @@ -108,7 +110,6 @@ void module_shut_down(const module_t *module) { assert(metadata != NULL); assert(module != NULL); module_state_t state = get_module_state(module); - assert(state <= MODULE_STATE_STARTED); // Only something to do if the module was actually started if (state < MODULE_STATE_STARTED) diff --git a/btif/src/btif_av.c b/btif/src/btif_av.c index 5b8a1da9e..c1643c955 100644 --- a/btif/src/btif_av.c +++ b/btif/src/btif_av.c @@ -2663,8 +2663,10 @@ BOOLEAN btif_av_stream_started_ready(void) void btif_dispatch_sm_event(btif_av_sm_event_t event, void *p_data, int len) { /* Switch to BTIF context */ + BTIF_TRACE_IMP("%s: event: %d, len: %d", __FUNCTION__, event, len); btif_transfer_context(btif_av_handle_event, event, (char*)p_data, len, NULL); + BTIF_TRACE_IMP("%s: event %d sent", __FUNCTION__, event); } /******************************************************************************* diff --git a/btif/src/btif_media_task.c b/btif/src/btif_media_task.c index 07aec5bd3..5596e005b 100644 --- a/btif/src/btif_media_task.c +++ b/btif/src/btif_media_task.c @@ -471,7 +471,7 @@ static const char* dump_a2dp_ctrl_event(UINT8 event) static void btif_audiopath_detached(void) { - APPL_TRACE_EVENT("## AUDIO PATH DETACHED ##"); + APPL_TRACE_IMP("## AUDIO PATH DETACHED ##"); /* send stop request only if we are actively streaming and haven't received a stop request. Potentially audioflinger detached abnormally */ @@ -486,7 +486,7 @@ static void a2dp_cmd_acknowledge(int status) { UINT8 ack = status; - APPL_TRACE_EVENT("## a2dp ack : %s, status %d ##", + APPL_TRACE_IMP("## a2dp ack : %s, status %d ##", dump_a2dp_ctrl_event(btif_media_cb.a2dp_cmd_pending), status); /* sanity check */ @@ -513,7 +513,7 @@ static void btif_recv_ctrl_data(void) /* detach on ctrl channel means audioflinger process was terminated */ if (n == 0) { - APPL_TRACE_EVENT("CTRL CH DETACHED"); + APPL_TRACE_IMP("CTRL CH DETACHED"); UIPC_Close(UIPC_CH_ID_AV_CTRL); /* we can operate only on datachannel, if af client wants to do send additional commands the ctrl channel would be reestablished */ @@ -521,7 +521,7 @@ static void btif_recv_ctrl_data(void) return; } - APPL_TRACE_DEBUG("a2dp-ctrl-cmd : %s", dump_a2dp_ctrl_event(cmd)); + APPL_TRACE_IMP("a2dp-ctrl-cmd : %s", dump_a2dp_ctrl_event(cmd)); btif_media_cb.a2dp_cmd_pending = cmd; @@ -657,14 +657,14 @@ static void btif_recv_ctrl_data(void) a2dp_cmd_acknowledge(A2DP_CTRL_ACK_FAILURE); break; } - APPL_TRACE_DEBUG("a2dp-ctrl-cmd : %s DONE", dump_a2dp_ctrl_event(cmd)); + APPL_TRACE_IMP("a2dp-ctrl-cmd : %s DONE", dump_a2dp_ctrl_event(cmd)); } static void btif_a2dp_ctrl_cb(tUIPC_CH_ID ch_id, tUIPC_EVENT event) { UNUSED(ch_id); - APPL_TRACE_DEBUG("A2DP-CTRL-CHANNEL EVENT %s", dump_uipc_event(event)); + APPL_TRACE_IMP("A2DP-CTRL-CHANNEL EVENT %s", dump_uipc_event(event)); switch(event) { @@ -850,7 +850,7 @@ bool btif_a2dp_start_media_task(void) return false; } - APPL_TRACE_EVENT("## A2DP START MEDIA THREAD ##"); + APPL_TRACE_IMP("## A2DP START MEDIA THREAD ##"); btif_media_cmd_msg_queue = fixed_queue_new(SIZE_MAX); @@ -866,7 +866,7 @@ bool btif_a2dp_start_media_task(void) thread_post(worker_thread, btif_media_thread_init, NULL); - APPL_TRACE_EVENT("## A2DP MEDIA THREAD STARTED ##"); + APPL_TRACE_IMP("## A2DP MEDIA THREAD STARTED ##"); return true; @@ -877,7 +877,7 @@ bool btif_a2dp_start_media_task(void) void btif_a2dp_stop_media_task(void) { - APPL_TRACE_EVENT("## A2DP STOP MEDIA THREAD ##"); + APPL_TRACE_IMP("## A2DP STOP MEDIA THREAD ##"); // Stop timer alarm_free(btif_media_cb.media_alarm); @@ -973,7 +973,7 @@ tBTIF_STATUS btif_a2dp_setup_codec(void) void btif_a2dp_on_idle(void) { - APPL_TRACE_EVENT("## ON A2DP IDLE ##"); + APPL_TRACE_IMP("## ON A2DP IDLE ##"); if (btif_media_cb.peer_sep == AVDT_TSEP_SNK) { /* Make sure media task is stopped */ @@ -1011,7 +1011,7 @@ void btif_a2dp_on_idle(void) void btif_a2dp_on_open(void) { - APPL_TRACE_EVENT("## ON A2DP OPEN ##"); + APPL_TRACE_IMP("## ON A2DP OPEN ##"); #ifndef BTA_AV_SPLIT_A2DP_ENABLED /* always use callback to notify socket events */ @@ -1089,7 +1089,7 @@ BOOLEAN btif_a2dp_on_started(tBTA_AV_START *p_av, BOOLEAN pending_start) { BOOLEAN ack = FALSE; - APPL_TRACE_EVENT("## ON A2DP STARTED ##"); + APPL_TRACE_IMP("## ON A2DP STARTED ##"); if (p_av == NULL) { @@ -1162,7 +1162,7 @@ BOOLEAN btif_a2dp_on_started(tBTA_AV_START *p_av, BOOLEAN pending_start) void btif_a2dp_ack_fail(void) { - APPL_TRACE_EVENT("## A2DP_CTRL_ACK_FAILURE ##"); + APPL_TRACE_IMP("## A2DP_CTRL_ACK_FAILURE ##"); a2dp_cmd_acknowledge(A2DP_CTRL_ACK_FAILURE); } @@ -1178,7 +1178,7 @@ void btif_a2dp_ack_fail(void) void btif_a2dp_on_stopped(tBTA_AV_SUSPEND *p_av) { - APPL_TRACE_EVENT("## ON A2DP STOPPED ##"); + APPL_TRACE_IMP("## ON A2DP STOPPED ##"); if (btif_media_cb.peer_sep == AVDT_TSEP_SRC) /* Handling for A2DP SINK cases*/ { btif_media_cb.rx_flush = TRUE; @@ -1228,7 +1228,7 @@ void btif_a2dp_on_stopped(tBTA_AV_SUSPEND *p_av) void btif_a2dp_on_suspended(tBTA_AV_SUSPEND *p_av) { - APPL_TRACE_EVENT("## ON A2DP SUSPENDED ##"); + APPL_TRACE_IMP("## ON A2DP SUSPENDED ##"); if (btif_media_cb.peer_sep == AVDT_TSEP_SRC) { btif_media_cb.rx_flush = TRUE; @@ -1397,6 +1397,7 @@ static void btif_media_task_aa_handle_uipc_rx_rdy(void) #endif static void btif_media_thread_init(UNUSED_ATTR void *context) { + APPL_TRACE_IMP(" btif_media_thread_init"); memset(&btif_media_cb, 0, sizeof(btif_media_cb)); UIPC_Init(NULL); @@ -1409,6 +1410,7 @@ static void btif_media_thread_init(UNUSED_ATTR void *context) { } static void btif_media_thread_cleanup(UNUSED_ATTR void *context) { + APPL_TRACE_IMP(" btif_media_thread_cleanup"); /* make sure no channels are restarted while shutting down */ media_task_running = MEDIA_TASK_STATE_SHUTTING_DOWN; @@ -1463,7 +1465,7 @@ static void btif_media_flush_q(BUFFER_Q *p_q) static void btif_media_thread_handle_cmd(fixed_queue_t *queue, UNUSED_ATTR void *context) { BT_HDR *p_msg = (BT_HDR *)fixed_queue_dequeue(queue); - LOG_VERBOSE("btif_media_thread_handle_cmd : %d %s", p_msg->event, + APPL_TRACE_IMP("btif_media_thread_handle_cmd : %d %s", p_msg->event, dump_media_event(p_msg->event)); switch (p_msg->event) @@ -1565,7 +1567,7 @@ static void btif_media_thread_handle_cmd(fixed_queue_t *queue, UNUSED_ATTR void APPL_TRACE_ERROR("ERROR in %s unknown event %d", __func__, p_msg->event); } GKI_freebuf(p_msg); - LOG_VERBOSE("%s: %s DONE", __func__, dump_media_event(p_msg->event)); + APPL_TRACE_IMP("%s: %s DONE", __func__, dump_media_event(p_msg->event)); } #if (BTA_AV_SINK_INCLUDED == TRUE) @@ -2486,7 +2488,7 @@ static void btif_media_task_alarm_cb(UNUSED_ATTR void *context) { *******************************************************************************/ static void btif_media_task_aa_start_tx(void) { - APPL_TRACE_DEBUG("btif_media_task_aa_start_tx is timer %d, feeding mode %d", + APPL_TRACE_IMP("btif_media_task_aa_start_tx is timer %d, feeding mode %d", btif_media_cb.is_tx_timer, btif_media_cb.feeding_mode); /* Use a timer to poll the UIPC, get rid of the UIPC call back */ @@ -2526,8 +2528,9 @@ static void btif_media_task_aa_start_tx(void) static void btif_media_task_aa_stop_tx(void) { #ifndef BTA_AV_SPLIT_A2DP_ENABLED + APPL_TRACE_IMP("%s is_tx_timer: %d", __func__, btif_media_cb.is_tx_timer); + const bool send_ack = (btif_media_cb.is_tx_timer != FALSE); - APPL_TRACE_DEBUG("%s is_tx_timer: %d", __func__, btif_media_cb.is_tx_timer); /* Stop the timer first */ alarm_free(btif_media_cb.media_alarm); diff --git a/stack/btm/btm_acl.c b/stack/btm/btm_acl.c index 5fe225efd..7b7a64bab 100644 --- a/stack/btm/btm_acl.c +++ b/stack/btm/btm_acl.c @@ -1026,8 +1026,8 @@ void btm_read_remote_version_complete (UINT8 *p) p_acl_cb->remote_addr[3], p_acl_cb->remote_addr[4], p_acl_cb->remote_addr[5]); BTM_TRACE_WARNING ("btm_read_remote_version_complete lmp_version %d manufacturer %d lmp_subversion %d", p_acl_cb->lmp_version,p_acl_cb->manufacturer, p_acl_cb->lmp_subversion); - btm_read_remote_features (p_acl_cb->hci_handle); - break; + if (p_acl_cb->transport == BT_TRANSPORT_BR_EDR) + btm_read_remote_features (p_acl_cb->hci_handle); } #if BLE_INCLUDED == TRUE diff --git a/stack/sdp/sdp_utils.c b/stack/sdp/sdp_utils.c index 5c8d73312..d9b1ea7ef 100644 --- a/stack/sdp/sdp_utils.c +++ b/stack/sdp/sdp_utils.c @@ -1027,6 +1027,11 @@ UINT8 *sdpu_build_partial_attrib_entry (UINT8 *p_out, tSDP_ATTRIBUTE *p_attr, UI sdpu_build_attrib_entry(p_tmp_attr, p_attr); attr_len = sdpu_get_attrib_entry_len(p_attr); + if (len > SDP_MAX_ATTR_LEN) + { + SDP_TRACE_ERROR("sdpu_build_partial_attrib_entry len %d exceeds SDP_MAX_ATTR_LEN",len); + len = SDP_MAX_ATTR_LEN; + } len_to_copy = ((attr_len - *offset) < len) ? (attr_len - *offset): len; if(p_out) { |