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

Commit 45e73275 authored by Chris Manton's avatar Chris Manton
Browse files

gd_acl: Diverge in stack/acl/btm_acl:: after connection

Low risk method to allow dual stack operation.

Bug: 163134718
Tag: #refactor
Test: gd/cert/run --host

Change-Id: Ife298e7122bc5f7afab50b6555d417f699ec941a
parent d25bb177
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -712,11 +712,18 @@ static void maybe_chain_more_commands_after_read_remote_version_complete(
      l2cble_use_preferred_conn_params(p_acl_cb->remote_addr);
      break;
    case BT_TRANSPORT_BR_EDR:
      /**
       * When running legacy stack continue chain of executing various
       * read commands.  Skip when gd_acl is enabled because that
       * module handles all remote read functionality.
       */
      if (!bluetooth::shim::is_gd_acl_enabled()) {
        if (status == HCI_SUCCESS) {
          internal_.btm_read_remote_features(p_acl_cb->hci_handle);
        }
      }
  }
}

void btm_process_remote_version_complete(uint8_t status, uint16_t handle,
                                         uint8_t lmp_version,
@@ -753,6 +760,8 @@ void btm_read_remote_version_complete_raw(uint8_t* p) {
  STREAM_TO_UINT16(manufacturer, p);
  STREAM_TO_UINT16(lmp_subversion, p);

  ASSERT_LOG(!bluetooth::shim::is_gd_acl_enabled(),
             "gd acl layer should be receiving this completion");
  btm_read_remote_version_complete(static_cast<tHCI_STATUS>(status), handle,
                                   lmp_version, manufacturer, lmp_version);
}