Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 36acfabb authored by Guillaume Bailey's avatar Guillaume Bailey Committed by Automerger Merge Worker
Browse files

Merge "Fix reconnect fail when connected" into main am: 946eb364

parents d3a81778 946eb364
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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;

@@ -1663,6 +1664,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());
+6 −1
Original line number Diff line number Diff line
@@ -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
+5 −0
Original line number Diff line number Diff line
@@ -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;

+1 −0
Original line number Diff line number Diff line
@@ -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;
}