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

Commit 946eb364 authored by Guillaume Bailey's avatar Guillaume Bailey Committed by Gerrit Code Review
Browse files

Merge "Fix reconnect fail when connected" into main

parents fdfaf6c1 f73abf3d
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;

@@ -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());
+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;
}