From daddea9cf1f5dbf51b9a2e9c2b02956a41d77a6c Mon Sep 17 00:00:00 2001 From: Anubhav Gupta Date: Mon, 8 Sep 2014 16:00:22 +0530 Subject: [PATCH] Free Avrcp Controller callbacks on Cleanup Free AVRCP Controller callbacks on cleanup so that callbacks are initialized properly on next initialization. Change-Id: Ieaf4c1989a7c40c591adfb7cb47912532ceee46e --- btif/src/btif_rc.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/btif/src/btif_rc.c b/btif/src/btif_rc.c index 781de3523..b8b02ae22 100644 --- a/btif/src/btif_rc.c +++ b/btif/src/btif_rc.c @@ -1577,8 +1577,30 @@ static void cleanup() } memset(&btif_rc_cb, 0, sizeof(btif_rc_cb_t)); lbl_destroy(); + BTIF_TRACE_EVENT("## %s ## completed", __FUNCTION__); } +/*************************************************************************** +** +** Function cleanup_ctrl +** +** Description Closes the AVRC Controller interface +** +** Returns void +** +***************************************************************************/ +static void cleanup_ctrl() +{ + BTIF_TRACE_EVENT("## %s ##", __FUNCTION__); + + if (bt_rc_ctrl_callbacks) + { + bt_rc_ctrl_callbacks = NULL; + } + memset(&btif_rc_cb, 0, sizeof(btif_rc_cb_t)); + lbl_destroy(); + BTIF_TRACE_EVENT("## %s ## completed", __FUNCTION__); +} static bt_status_t send_passthrough_cmd(bt_bdaddr_t *bd_addr, uint8_t key_code, uint8_t key_state) { @@ -1636,7 +1658,7 @@ static const btrc_ctrl_interface_t bt_rc_ctrl_interface = { sizeof(bt_rc_ctrl_interface), init_ctrl, send_passthrough_cmd, - cleanup, + cleanup_ctrl, }; /******************************************************************************* -- 2.11.0