Loading system/bta/av/bta_av_act.cc +7 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ #include "stack/include/l2c_api.h" #include "stack/include/sdp_api.h" #include "types/raw_address.h" #include "device/include/interop.h" using namespace bluetooth::legacy::stack::sdp; Loading Loading @@ -1653,6 +1654,12 @@ void bta_av_sig_chg(tBTA_AV_DATA* p_data) { for (xx = 0; xx < BTA_AV_NUM_STRS; xx++) { if (p_cb->p_scb[xx] && p_cb->p_scb[xx]->PeerAddress() == p_data->str_msg.bd_addr) { if ((p_cb->p_scb[xx]->state == 1) && alarm_is_scheduled(p_cb->p_scb[xx]->accept_signalling_timer) && interop_match_addr(INTEROP_IGNORE_DISC_BEFORE_SIGNALLING_TIMEOUT, &(p_data->str_msg.bd_addr))) { continue; } APPL_TRACE_DEBUG("%s: Closing timer for AVDTP service", __func__); bta_sys_conn_close(BTA_ID_AV, p_cb->p_scb[xx]->app_id, p_cb->p_scb[xx]->PeerAddress()); Loading system/conf/interop_database.conf +6 −1 Original line number Diff line number Diff line Loading @@ -845,3 +845,8 @@ ec:74:27 = Address_Based f0:21:e0 = Address_Based f0:b6:61 = Address_Based fc:3f:a6 = Address_Based # some device may have problem in reconnect flow, need we initiate connection after signalling timeout [INTEROP_IGNORE_DISC_BEFORE_SIGNALLING_TIMEOUT] 00:e0:4c = Address_Based 00:9e:c8 = Address_Based system/device/include/interop.h +5 −0 Original line number Diff line number Diff line Loading @@ -327,6 +327,11 @@ typedef enum { INTEROP_DISABLE_ROBUST_CACHING, INTEROP_HFP_1_7_ALLOWLIST, // Some device may have problem in reconnect flow, // need we initiate connection after signalling timeout INTEROP_IGNORE_DISC_BEFORE_SIGNALLING_TIMEOUT, END_OF_INTEROP_LIST } interop_feature_t; Loading system/device/src/interop.cc +1 −0 Original line number Diff line number Diff line Loading @@ -391,6 +391,7 @@ static const char* interop_feature_string_(const interop_feature_t feature) { CASE_RETURN_STR(INTEROP_AVRCP_1_3_ONLY) CASE_RETURN_STR(INTEROP_DISABLE_ROBUST_CACHING); CASE_RETURN_STR(INTEROP_HFP_1_7_ALLOWLIST); CASE_RETURN_STR(INTEROP_IGNORE_DISC_BEFORE_SIGNALLING_TIMEOUT); } return UNKNOWN_INTEROP_FEATURE; } Loading Loading
system/bta/av/bta_av_act.cc +7 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ #include "stack/include/l2c_api.h" #include "stack/include/sdp_api.h" #include "types/raw_address.h" #include "device/include/interop.h" using namespace bluetooth::legacy::stack::sdp; Loading Loading @@ -1653,6 +1654,12 @@ void bta_av_sig_chg(tBTA_AV_DATA* p_data) { for (xx = 0; xx < BTA_AV_NUM_STRS; xx++) { if (p_cb->p_scb[xx] && p_cb->p_scb[xx]->PeerAddress() == p_data->str_msg.bd_addr) { if ((p_cb->p_scb[xx]->state == 1) && alarm_is_scheduled(p_cb->p_scb[xx]->accept_signalling_timer) && interop_match_addr(INTEROP_IGNORE_DISC_BEFORE_SIGNALLING_TIMEOUT, &(p_data->str_msg.bd_addr))) { continue; } APPL_TRACE_DEBUG("%s: Closing timer for AVDTP service", __func__); bta_sys_conn_close(BTA_ID_AV, p_cb->p_scb[xx]->app_id, p_cb->p_scb[xx]->PeerAddress()); Loading
system/conf/interop_database.conf +6 −1 Original line number Diff line number Diff line Loading @@ -845,3 +845,8 @@ ec:74:27 = Address_Based f0:21:e0 = Address_Based f0:b6:61 = Address_Based fc:3f:a6 = Address_Based # some device may have problem in reconnect flow, need we initiate connection after signalling timeout [INTEROP_IGNORE_DISC_BEFORE_SIGNALLING_TIMEOUT] 00:e0:4c = Address_Based 00:9e:c8 = Address_Based
system/device/include/interop.h +5 −0 Original line number Diff line number Diff line Loading @@ -327,6 +327,11 @@ typedef enum { INTEROP_DISABLE_ROBUST_CACHING, INTEROP_HFP_1_7_ALLOWLIST, // Some device may have problem in reconnect flow, // need we initiate connection after signalling timeout INTEROP_IGNORE_DISC_BEFORE_SIGNALLING_TIMEOUT, END_OF_INTEROP_LIST } interop_feature_t; Loading
system/device/src/interop.cc +1 −0 Original line number Diff line number Diff line Loading @@ -391,6 +391,7 @@ static const char* interop_feature_string_(const interop_feature_t feature) { CASE_RETURN_STR(INTEROP_AVRCP_1_3_ONLY) CASE_RETURN_STR(INTEROP_DISABLE_ROBUST_CACHING); CASE_RETURN_STR(INTEROP_HFP_1_7_ALLOWLIST); CASE_RETURN_STR(INTEROP_IGNORE_DISC_BEFORE_SIGNALLING_TIMEOUT); } return UNKNOWN_INTEROP_FEATURE; } Loading