Loading system/bta/jv/bta_jv_act.cc +36 −2 Original line number Diff line number Diff line Loading @@ -1060,10 +1060,27 @@ void bta_jv_l2cap_connect(tBTA_JV_CONN_TYPE type, tBTA_SEC sec_mask, if ((type != BTA_JV_CONN_TYPE_L2CAP) || (bta_jv_check_psm(remote_psm))) /* allowed */ { // Given a client socket type // return the associated transport const tBT_TRANSPORT transport = [](tBTA_JV_CONN_TYPE type) -> tBT_TRANSPORT { switch (type) { case BTA_JV_CONN_TYPE_L2CAP: return BT_TRANSPORT_BR_EDR; case BTA_JV_CONN_TYPE_L2CAP_LE: return BT_TRANSPORT_LE; case BTA_JV_CONN_TYPE_RFCOMM: default: break; } log::warn("Unexpected socket type:{}", type); return BT_TRANSPORT_AUTO; }(type); uint16_t max_mps = 0xffff; // Let GAP_ConnOpen set the max_mps. handle = GAP_ConnOpen("", sec_id, 0, &peer_bd_addr, remote_psm, max_mps, &cfg, ertm_info.get(), sec_mask, bta_jv_l2cap_client_cback, type); bta_jv_l2cap_client_cback, transport); if (handle != GAP_INVALID_HANDLE) { evt_data.status = tBTA_JV_STATUS::SUCCESS; } Loading Loading @@ -1205,11 +1222,28 @@ void bta_jv_l2cap_start_server(tBTA_JV_CONN_TYPE type, tBTA_SEC sec_mask, uint8_t sec_id = bta_jv_alloc_sec_id(); uint16_t max_mps = 0xffff; // Let GAP_ConnOpen set the max_mps. /* PSM checking is not required for LE COC */ // Given a server socket type // return the associated transport const tBT_TRANSPORT transport = [](tBTA_JV_CONN_TYPE type) -> tBT_TRANSPORT { switch (type) { case BTA_JV_CONN_TYPE_L2CAP: return BT_TRANSPORT_BR_EDR; case BTA_JV_CONN_TYPE_L2CAP_LE: return BT_TRANSPORT_LE; case BTA_JV_CONN_TYPE_RFCOMM: default: break; } log::warn("Unexpected socket type:{}", type); return BT_TRANSPORT_AUTO; }(type); if (0 == sec_id || ((type == BTA_JV_CONN_TYPE_L2CAP) && (!bta_jv_check_psm(local_psm))) || (handle = GAP_ConnOpen("JV L2CAP", sec_id, 1, nullptr, local_psm, max_mps, &cfg, ertm_info.get(), sec_mask, bta_jv_l2cap_server_cback, type)) == bta_jv_l2cap_server_cback, transport)) == GAP_INVALID_HANDLE) { bta_jv_free_sec_id(&sec_id); evt_data.status = tBTA_JV_STATUS::FAILURE; Loading Loading
system/bta/jv/bta_jv_act.cc +36 −2 Original line number Diff line number Diff line Loading @@ -1060,10 +1060,27 @@ void bta_jv_l2cap_connect(tBTA_JV_CONN_TYPE type, tBTA_SEC sec_mask, if ((type != BTA_JV_CONN_TYPE_L2CAP) || (bta_jv_check_psm(remote_psm))) /* allowed */ { // Given a client socket type // return the associated transport const tBT_TRANSPORT transport = [](tBTA_JV_CONN_TYPE type) -> tBT_TRANSPORT { switch (type) { case BTA_JV_CONN_TYPE_L2CAP: return BT_TRANSPORT_BR_EDR; case BTA_JV_CONN_TYPE_L2CAP_LE: return BT_TRANSPORT_LE; case BTA_JV_CONN_TYPE_RFCOMM: default: break; } log::warn("Unexpected socket type:{}", type); return BT_TRANSPORT_AUTO; }(type); uint16_t max_mps = 0xffff; // Let GAP_ConnOpen set the max_mps. handle = GAP_ConnOpen("", sec_id, 0, &peer_bd_addr, remote_psm, max_mps, &cfg, ertm_info.get(), sec_mask, bta_jv_l2cap_client_cback, type); bta_jv_l2cap_client_cback, transport); if (handle != GAP_INVALID_HANDLE) { evt_data.status = tBTA_JV_STATUS::SUCCESS; } Loading Loading @@ -1205,11 +1222,28 @@ void bta_jv_l2cap_start_server(tBTA_JV_CONN_TYPE type, tBTA_SEC sec_mask, uint8_t sec_id = bta_jv_alloc_sec_id(); uint16_t max_mps = 0xffff; // Let GAP_ConnOpen set the max_mps. /* PSM checking is not required for LE COC */ // Given a server socket type // return the associated transport const tBT_TRANSPORT transport = [](tBTA_JV_CONN_TYPE type) -> tBT_TRANSPORT { switch (type) { case BTA_JV_CONN_TYPE_L2CAP: return BT_TRANSPORT_BR_EDR; case BTA_JV_CONN_TYPE_L2CAP_LE: return BT_TRANSPORT_LE; case BTA_JV_CONN_TYPE_RFCOMM: default: break; } log::warn("Unexpected socket type:{}", type); return BT_TRANSPORT_AUTO; }(type); if (0 == sec_id || ((type == BTA_JV_CONN_TYPE_L2CAP) && (!bta_jv_check_psm(local_psm))) || (handle = GAP_ConnOpen("JV L2CAP", sec_id, 1, nullptr, local_psm, max_mps, &cfg, ertm_info.get(), sec_mask, bta_jv_l2cap_server_cback, type)) == bta_jv_l2cap_server_cback, transport)) == GAP_INVALID_HANDLE) { bta_jv_free_sec_id(&sec_id); evt_data.status = tBTA_JV_STATUS::FAILURE; Loading