fixed rfc resouce leaking and multi-session issue
also added more debug messages
bug 7486080
Change-Id: Ic21e9d2df5f651b51ea2126a3cac25811808dcfb
diff --git a/bta/jv/bta_jv_api.c b/bta/jv/bta_jv_api.c
index 8953886..c1dbe16 100644
--- a/bta/jv/bta_jv_api.c
+++ b/bta/jv/bta_jv_api.c
@@ -1358,7 +1358,7 @@
** BTA_JV_FAILURE, otherwise.
**
*******************************************************************************/
-tBTA_JV_STATUS BTA_JvRfcommClose(UINT32 handle)
+tBTA_JV_STATUS BTA_JvRfcommClose(UINT32 handle, void *user_data)
{
tBTA_JV_STATUS status = BTA_JV_FAILURE;
tBTA_JV_API_RFCOMM_CLOSE *p_msg;
@@ -1374,6 +1374,7 @@
p_msg->handle = handle;
p_msg->p_cb = &bta_jv_cb.rfc_cb[hi];
p_msg->p_pcb = &bta_jv_cb.port_cb[p_msg->p_cb->rfc_hdl[si] - 1];
+ p_msg->user_data = user_data;
bta_sys_sendmsg(p_msg);
status = BTA_JV_SUCCESS;
}
@@ -1439,7 +1440,7 @@
** BTA_JV_FAILURE, otherwise.
**
*******************************************************************************/
-tBTA_JV_STATUS BTA_JvRfcommStopServer(UINT32 handle)
+tBTA_JV_STATUS BTA_JvRfcommStopServer(UINT32 handle, void * user_data)
{
tBTA_JV_STATUS status = BTA_JV_FAILURE;
tBTA_JV_API_RFCOMM_SERVER *p_msg;
@@ -1448,6 +1449,7 @@
{
p_msg->hdr.event = BTA_JV_API_RFCOMM_STOP_SERVER_EVT;
p_msg->rfc_handle = handle;
+ p_msg->user_data = user_data; //caller's private data
bta_sys_sendmsg(p_msg);
status = BTA_JV_SUCCESS;
}