From f53bb82959eebfea509789c95034dc959619cb5f Mon Sep 17 00:00:00 2001 From: Jakub Pawlowski Date: Fri, 27 Oct 2017 16:59:45 -0700 Subject: [PATCH] Use Bind in BTA_JvL2capStopServerLE Bug: 68359837 Test: compilation test Change-Id: Ibba26fd62571e97f75502cd65240534ff6078e01 --- bta/jv/bta_jv_act.cc | 24 ++++++------------------ bta/jv/bta_jv_api.cc | 9 +-------- bta/jv/bta_jv_int.h | 23 +---------------------- bta/jv/bta_jv_main.cc | 1 - 4 files changed, 8 insertions(+), 49 deletions(-) diff --git a/bta/jv/bta_jv_act.cc b/bta/jv/bta_jv_act.cc index 791765372..24c6e59f1 100644 --- a/bta/jv/bta_jv_act.cc +++ b/bta/jv/bta_jv_act.cc @@ -2347,32 +2347,20 @@ void bta_jv_l2cap_connect_le(uint16_t remote_chan, t->init_called = true; } -/******************************************************************************* - * - * Function bta_jv_l2cap_stop_server_le - * - * Description stops an LE L2CAP server - * - * Returns void - * - ******************************************************************************/ -void bta_jv_l2cap_stop_server_le(tBTA_JV_MSG* p_data) { - tBTA_JV evt; - tBTA_JV_API_L2CAP_SERVER* ls = &(p_data->l2cap_server); - tBTA_JV_L2CAP_CBACK* p_cback = NULL; - struct fc_channel* fcchan; +/* stops an LE L2CAP server */ +void bta_jv_l2cap_stop_server_le(uint16_t local_chan) { struct fc_client* fcclient; - uint32_t l2cap_socket_id; + tBTA_JV evt; evt.l2c_close.status = BTA_JV_FAILURE; evt.l2c_close.async = false; evt.l2c_close.handle = GAP_INVALID_HANDLE; - fcchan = fcchan_get(ls->local_chan, false); + struct fc_channel* fcchan = fcchan_get(local_chan, false); if (fcchan) { while ((fcclient = fcchan->clients)) { - p_cback = fcclient->p_cback; - l2cap_socket_id = fcclient->l2cap_socket_id; + tBTA_JV_L2CAP_CBACK* p_cback = fcclient->p_cback; + uint32_t l2cap_socket_id = fcclient->l2cap_socket_id; evt.l2c_close.handle = fcclient->id; evt.l2c_close.status = BTA_JV_SUCCESS; diff --git a/bta/jv/bta_jv_api.cc b/bta/jv/bta_jv_api.cc index d996646e0..41b0a35c8 100644 --- a/bta/jv/bta_jv_api.cc +++ b/bta/jv/bta_jv_api.cc @@ -458,14 +458,7 @@ tBTA_JV_STATUS BTA_JvL2capStopServerLE(uint16_t local_chan, uint32_t l2cap_socket_id) { APPL_TRACE_API("%s", __func__); - tBTA_JV_API_L2CAP_SERVER* p_msg = - (tBTA_JV_API_L2CAP_SERVER*)osi_malloc(sizeof(tBTA_JV_API_L2CAP_SERVER)); - p_msg->hdr.event = BTA_JV_API_L2CAP_STOP_SERVER_LE_EVT; - p_msg->local_chan = local_chan; - p_msg->l2cap_socket_id = l2cap_socket_id; - - bta_sys_sendmsg(p_msg); - + do_in_bta_thread(FROM_HERE, Bind(&bta_jv_l2cap_stop_server_le, local_chan)); return BTA_JV_SUCCESS; } diff --git a/bta/jv/bta_jv_int.h b/bta/jv/bta_jv_int.h index fa1a3ef40..6a333c924 100644 --- a/bta/jv/bta_jv_int.h +++ b/bta/jv/bta_jv_int.h @@ -48,7 +48,6 @@ enum { BTA_JV_API_RFCOMM_WRITE_EVT, BTA_JV_API_SET_PM_PROFILE_EVT, BTA_JV_API_PM_STATE_CHANGE_EVT, - BTA_JV_API_L2CAP_STOP_SERVER_LE_EVT, BTA_JV_API_L2CAP_WRITE_FIXED_EVT, BTA_JV_MAX_INT_EVT }; @@ -134,25 +133,6 @@ typedef struct { int curr_sess; /* current sessions count*/ } tBTA_JV_RFC_CB; -/* data type for BTA_JV_API_L2CAP_SERVER_EVT */ -typedef struct { - BT_HDR hdr; - int32_t type; /* One of BTA_JV_CONN_TYPE_ */ - tBTA_SEC sec_mask; - tBTA_JV_ROLE role; - union { - uint16_t local_psm; - uint16_t local_chan; - }; - uint16_t rx_mtu; - int32_t has_cfg; - tL2CAP_CFG_INFO cfg; - int32_t has_ertm_info; - tL2CAP_ERTM_INFO ertm_info; - tBTA_JV_L2CAP_CBACK* p_cback; - uint32_t l2cap_socket_id; -} tBTA_JV_API_L2CAP_SERVER; - /* data type for BTA_JV_API_L2CAP_READ_EVT */ typedef struct { BT_HDR hdr; @@ -252,7 +232,6 @@ typedef union { tBTA_JV_API_START_DISCOVERY start_discovery; tBTA_JV_API_L2CAP_READ l2cap_read; tBTA_JV_API_L2CAP_WRITE l2cap_write; - tBTA_JV_API_L2CAP_SERVER l2cap_server; tBTA_JV_API_RFCOMM_CONNECT rfcomm_connect; tBTA_JV_API_RFCOMM_WRITE rfcomm_write; tBTA_JV_API_SET_PM_PROFILE set_pm; @@ -339,7 +318,7 @@ extern void bta_jv_l2cap_connect_le(uint16_t remote_chan, extern void bta_jv_l2cap_start_server_le(uint16_t local_chan, tBTA_JV_L2CAP_CBACK* p_cback, uint32_t l2cap_socket_id); -extern void bta_jv_l2cap_stop_server_le(tBTA_JV_MSG* p_data); +extern void bta_jv_l2cap_stop_server_le(uint16_t local_chan); extern void bta_jv_l2cap_write_fixed(tBTA_JV_MSG* p_data); extern void bta_jv_l2cap_close_fixed(uint32_t handle); diff --git a/bta/jv/bta_jv_main.cc b/bta/jv/bta_jv_main.cc index 5fc6c70e5..f1f4b059e 100644 --- a/bta/jv/bta_jv_main.cc +++ b/bta/jv/bta_jv_main.cc @@ -51,7 +51,6 @@ const tBTA_JV_ACTION bta_jv_action[] = { bta_jv_rfcomm_write, /* BTA_JV_API_RFCOMM_WRITE_EVT */ bta_jv_set_pm_profile, /* BTA_JV_API_SET_PM_PROFILE_EVT */ bta_jv_change_pm_state, /* BTA_JV_API_PM_STATE_CHANGE_EVT */ - bta_jv_l2cap_stop_server_le, /* BTA_JV_API_L2CAP_STOP_SERVER_LE_EVT */ bta_jv_l2cap_write_fixed, /* BTA_JV_API_L2CAP_WRITE_FIXED_EVT */ }; -- 2.11.0