From ae49b1522e7eeade8eaf7d3fe369e049d7472ad3 Mon Sep 17 00:00:00 2001 From: pramod kotreshappa Date: Tue, 13 Oct 2015 20:37:43 -0700 Subject: Bluetooth: Initialize AV SM before enabling A2DP service Fix for A2dp auto connection failure after BT reset or DUT power power cycle. Sometimes before the sm_handle is assigned to index 0 of btif_av_cb, Register event is posted from bta to AV SM. Since the sm_handle is not assgined yet, AV handle is not updated resulting in a2dp connection failure. Change-Id: I9ba8b1982acf6dc8d4b91c9eb98b6bec66a062f3 CRs-fixed: 924349 --- btif/src/btif_av.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/btif/src/btif_av.c b/btif/src/btif_av.c index 4a7173a86..fd587fdf6 100644 --- a/btif/src/btif_av.c +++ b/btif/src/btif_av.c @@ -2046,7 +2046,6 @@ bt_status_t btif_av_init(int service_id) if (!btif_a2dp_start_media_task()) return BT_STATUS_FAIL; btif_av_cb[0].service = service_id; - btif_enable_service(service_id); /* Also initialize the AV state machine */ for (i = 0; i < btif_max_av_clients; i++) @@ -2054,6 +2053,8 @@ bt_status_t btif_av_init(int service_id) btif_av_cb[i].sm_handle = btif_sm_init((const btif_sm_handler_t*)btif_av_state_handlers, BTIF_AV_STATE_IDLE, i); } + + btif_enable_service(service_id); btif_a2dp_on_init(); } -- cgit v1.2.3