From aee67ece726e9b5d0e2e02562fe013ae85c46d63 Mon Sep 17 00:00:00 2001 From: Pavlin Radoslavov Date: Wed, 18 May 2016 14:30:53 -0700 Subject: [PATCH] Add error log messages for A2DP commands Bug: 28823662 Change-Id: Ifa9950dd2277b444bedd5108beff2db029a5ed93 --- audio_a2dp_hw/audio_a2dp_hw.c | 8 ++++++-- btif/src/btif_media_task.c | 24 +++++++++++++++++++----- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/audio_a2dp_hw/audio_a2dp_hw.c b/audio_a2dp_hw/audio_a2dp_hw.c index 5412d207d..080d73e10 100644 --- a/audio_a2dp_hw/audio_a2dp_hw.c +++ b/audio_a2dp_hw/audio_a2dp_hw.c @@ -358,15 +358,19 @@ static int a2dp_command(struct a2dp_stream_common *common, char cmd) } /* wait for ack byte */ - if (a2dp_ctrl_receive(common, &ack, 1) < 0) + if (a2dp_ctrl_receive(common, &ack, 1) < 0) { + ERROR("A2DP COMMAND %s: no ACK", dump_a2dp_ctrl_event(cmd)); return -1; + } DEBUG("A2DP COMMAND %s DONE STATUS %d", dump_a2dp_ctrl_event(cmd), ack); if (ack == A2DP_CTRL_ACK_INCALL_FAILURE) return ack; - if (ack != A2DP_CTRL_ACK_SUCCESS) + if (ack != A2DP_CTRL_ACK_SUCCESS) { + ERROR("A2DP COMMAND %s error %d", dump_a2dp_ctrl_event(cmd), ack); return -1; + } return 0; } diff --git a/btif/src/btif_media_task.c b/btif/src/btif_media_task.c index 4686e4024..2a9035407 100644 --- a/btif/src/btif_media_task.c +++ b/btif/src/btif_media_task.c @@ -560,6 +560,8 @@ static void btif_recv_ctrl_data(void) if (media_task_running == MEDIA_TASK_STATE_SHUTTING_DOWN) { + APPL_TRACE_WARNING("%s: A2DP command %s while media task shutting down", + __func__, dump_a2dp_ctrl_event(cmd)); a2dp_cmd_acknowledge(A2DP_CTRL_ACK_FAILURE); return; } @@ -571,6 +573,8 @@ static void btif_recv_ctrl_data(void) } else { + APPL_TRACE_WARNING("%s: A2DP command %s while AV stream is not ready", + __func__, dump_a2dp_ctrl_event(cmd)); a2dp_cmd_acknowledge(A2DP_CTRL_ACK_FAILURE); } break; @@ -587,8 +591,8 @@ static void btif_recv_ctrl_data(void) if (alarm_is_scheduled(btif_media_cb.media_alarm)) { - APPL_TRACE_WARNING("%s Unexpected HAL start." - "Stream already in started state", __func__); + APPL_TRACE_WARNING("%s: A2DP command %s when media alarm already scheduled", + __func__, dump_a2dp_ctrl_event(cmd)); a2dp_cmd_acknowledge(A2DP_CTRL_ACK_FAILURE); break; } @@ -616,6 +620,8 @@ static void btif_recv_ctrl_data(void) } else { + APPL_TRACE_WARNING("%s: A2DP command %s while AV stream is not ready", + __func__, dump_a2dp_ctrl_event(cmd)); a2dp_cmd_acknowledge(A2DP_CTRL_ACK_FAILURE); break; } @@ -1099,6 +1105,8 @@ BOOLEAN btif_a2dp_on_started(tBTA_AV_START *p_av, BOOLEAN pending_start) } else if (pending_start) { + APPL_TRACE_WARNING("%s: A2DP start request failed: status = %d", + __func__, p_av->status); a2dp_cmd_acknowledge(A2DP_CTRL_ACK_FAILURE); ack = TRUE; } @@ -1153,8 +1161,11 @@ void btif_a2dp_on_stopped(tBTA_AV_SUSPEND *p_av) { APPL_TRACE_EVENT("AV STOP FAILED (%d)", p_av->status); - if (p_av->initiator) + if (p_av->initiator) { + APPL_TRACE_WARNING("%s: A2DP stop request failed: status = %d", + __func__, p_av->status); a2dp_cmd_acknowledge(A2DP_CTRL_ACK_FAILURE); + } return; } } @@ -1197,8 +1208,11 @@ void btif_a2dp_on_suspended(tBTA_AV_SUSPEND *p_av) /* check for status failures */ if (p_av->status != BTA_AV_SUCCESS) { - if (p_av->initiator == TRUE) + if (p_av->initiator == TRUE) { + APPL_TRACE_WARNING("%s: A2DP suspend request failed: status = %d", + __func__, p_av->status); a2dp_cmd_acknowledge(A2DP_CTRL_ACK_FAILURE); + } } /* once stream is fully stopped we will ack back */ @@ -1235,7 +1249,7 @@ void btif_a2dp_on_offload_started(tBTA_AV_STATUS status) ack = A2DP_CTRL_ACK_UNSUPPORTED; break; default: - APPL_TRACE_ERROR("%s FAILED", __func__); + APPL_TRACE_ERROR("%s FAILED: status = %d", __func__, status); ack = A2DP_CTRL_ACK_FAILURE; break; } -- 2.11.0