Loading system/bta/ag/bta_ag_sdp.cc +7 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ #include "bta_sys.h" #include "btif_config.h" #include "btm_api.h" #include "osi/include/log.h" #include "osi/include/osi.h" #include "sdp_api.h" #include "stack/btm/btm_sec.h" Loading Loading @@ -479,6 +480,12 @@ void bta_ag_do_disc(tBTA_AG_SCB* p_scb, tBTA_SERVICE_MASK service) { } } if (p_scb->p_disc_db != nullptr) { android_errorWriteLog(0x534e4554, "174052148"); APPL_TRACE_ERROR("Discovery already in progress... returning."); return; } /* allocate buffer for sdp database */ p_scb->p_disc_db = (tSDP_DISCOVERY_DB*)osi_malloc(BTA_AG_DISC_BUF_SIZE); /* set up service discovery database; attr happens to be attr_list len */ Loading system/device/include/interop_database.h +6 −0 Original line number Diff line number Diff line Loading @@ -151,6 +151,9 @@ static const interop_addr_entry_t interop_addr_database[] = { // because BR/EDR address and ADV random address are the same {{{0xd4, 0x7a, 0xe2, 0, 0, 0}}, 3, INTEROP_DISABLE_NAME_REQUEST}, // Lexus Carkit {{{0x64, 0xd4, 0xbd, 0, 0, 0}}, 3, INTEROP_AVRCP_1_4_ONLY}, // Mazda Carkit {{{0xfc, 0x35, 0xe6, 0, 0, 0}}, 3, INTEROP_AVRCP_1_4_ONLY}, Loading @@ -162,6 +165,9 @@ static const interop_addr_entry_t interop_addr_database[] = { // Honda Civic Carkit {{{0x0c, 0xd9, 0xc1, 0, 0, 0}}, 3, INTEROP_AVRCP_1_4_ONLY}, // KDDI Carkit {{{0x44, 0xea, 0xd8, 0, 0, 0}}, 3, INTEROP_DISABLE_SNIFF} }; typedef struct { Loading system/hci/src/packet_fragmenter.cc +10 −0 Original line number Diff line number Diff line Loading @@ -35,9 +35,11 @@ #define APPLY_START_FLAG(handle) (((handle)&0xCFFF) | 0x2000) #define SUB_EVENT(event) ((event)&MSG_SUB_EVT_MASK) #define GET_BOUNDARY_FLAG(handle) (((handle) >> 12) & 0x0003) #define GET_BROADCAST_FLAG(handle) (((handle) >> 14) & 0x0003) #define HANDLE_MASK 0x0FFF #define START_PACKET_BOUNDARY 2 #define POINT_TO_POINT 0 #define L2CAP_HEADER_PDU_LEN_SIZE 2 #define L2CAP_HEADER_CID_SIZE 2 #define L2CAP_HEADER_SIZE (L2CAP_HEADER_PDU_LEN_SIZE + L2CAP_HEADER_CID_SIZE) Loading Loading @@ -354,8 +356,16 @@ static void reassemble_and_dispatch(UNUSED_ATTR BT_HDR* packet) { CHECK(acl_length == packet->len - HCI_ACL_PREAMBLE_SIZE); uint8_t boundary_flag = GET_BOUNDARY_FLAG(handle); uint8_t broadcast_flag = GET_BROADCAST_FLAG(handle); handle = handle & HANDLE_MASK; if (broadcast_flag != POINT_TO_POINT) { LOG_WARN("dropping broadcast packet"); android_errorWriteLog(0x534e4554, "169327567"); buffer_allocator->free(packet); return; } if (boundary_flag == START_PACKET_BOUNDARY) { if (acl_length < 2) { LOG_WARN("%s invalid acl_length %d", __func__, acl_length); Loading Loading
system/bta/ag/bta_ag_sdp.cc +7 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ #include "bta_sys.h" #include "btif_config.h" #include "btm_api.h" #include "osi/include/log.h" #include "osi/include/osi.h" #include "sdp_api.h" #include "stack/btm/btm_sec.h" Loading Loading @@ -479,6 +480,12 @@ void bta_ag_do_disc(tBTA_AG_SCB* p_scb, tBTA_SERVICE_MASK service) { } } if (p_scb->p_disc_db != nullptr) { android_errorWriteLog(0x534e4554, "174052148"); APPL_TRACE_ERROR("Discovery already in progress... returning."); return; } /* allocate buffer for sdp database */ p_scb->p_disc_db = (tSDP_DISCOVERY_DB*)osi_malloc(BTA_AG_DISC_BUF_SIZE); /* set up service discovery database; attr happens to be attr_list len */ Loading
system/device/include/interop_database.h +6 −0 Original line number Diff line number Diff line Loading @@ -151,6 +151,9 @@ static const interop_addr_entry_t interop_addr_database[] = { // because BR/EDR address and ADV random address are the same {{{0xd4, 0x7a, 0xe2, 0, 0, 0}}, 3, INTEROP_DISABLE_NAME_REQUEST}, // Lexus Carkit {{{0x64, 0xd4, 0xbd, 0, 0, 0}}, 3, INTEROP_AVRCP_1_4_ONLY}, // Mazda Carkit {{{0xfc, 0x35, 0xe6, 0, 0, 0}}, 3, INTEROP_AVRCP_1_4_ONLY}, Loading @@ -162,6 +165,9 @@ static const interop_addr_entry_t interop_addr_database[] = { // Honda Civic Carkit {{{0x0c, 0xd9, 0xc1, 0, 0, 0}}, 3, INTEROP_AVRCP_1_4_ONLY}, // KDDI Carkit {{{0x44, 0xea, 0xd8, 0, 0, 0}}, 3, INTEROP_DISABLE_SNIFF} }; typedef struct { Loading
system/hci/src/packet_fragmenter.cc +10 −0 Original line number Diff line number Diff line Loading @@ -35,9 +35,11 @@ #define APPLY_START_FLAG(handle) (((handle)&0xCFFF) | 0x2000) #define SUB_EVENT(event) ((event)&MSG_SUB_EVT_MASK) #define GET_BOUNDARY_FLAG(handle) (((handle) >> 12) & 0x0003) #define GET_BROADCAST_FLAG(handle) (((handle) >> 14) & 0x0003) #define HANDLE_MASK 0x0FFF #define START_PACKET_BOUNDARY 2 #define POINT_TO_POINT 0 #define L2CAP_HEADER_PDU_LEN_SIZE 2 #define L2CAP_HEADER_CID_SIZE 2 #define L2CAP_HEADER_SIZE (L2CAP_HEADER_PDU_LEN_SIZE + L2CAP_HEADER_CID_SIZE) Loading Loading @@ -354,8 +356,16 @@ static void reassemble_and_dispatch(UNUSED_ATTR BT_HDR* packet) { CHECK(acl_length == packet->len - HCI_ACL_PREAMBLE_SIZE); uint8_t boundary_flag = GET_BOUNDARY_FLAG(handle); uint8_t broadcast_flag = GET_BROADCAST_FLAG(handle); handle = handle & HANDLE_MASK; if (broadcast_flag != POINT_TO_POINT) { LOG_WARN("dropping broadcast packet"); android_errorWriteLog(0x534e4554, "169327567"); buffer_allocator->free(packet); return; } if (boundary_flag == START_PACKET_BOUNDARY) { if (acl_length < 2) { LOG_WARN("%s invalid acl_length %d", __func__, acl_length); Loading