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

Commit d44e5ec4 authored by Benson Li's avatar Benson Li Committed by android-build-merger
Browse files

Merge "HFP: Reset BTA SCO control block when bta_ag_create_sco failed"

am: 8432caec

Change-Id: I9f87fd712572e9495b5bceac2f7b96985c963a58
parents a48a80f7 8432caec
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -370,6 +370,12 @@ static void bta_ag_create_sco(tBTA_AG_SCB* p_scb, bool is_orig) {
  if (!bta_ag_sco_is_active_device(p_scb->peer_addr)) {
    LOG(WARNING) << __func__ << ": device " << p_scb->peer_addr
                 << " is not active, active_device=" << active_device_addr;
    if (bta_ag_cb.sco.p_curr_scb != nullptr &&
        bta_ag_cb.sco.p_curr_scb->in_use && p_scb == bta_ag_cb.sco.p_curr_scb) {
      do_in_bta_thread(
          FROM_HERE, base::Bind(&bta_ag_sm_execute, p_scb, BTA_AG_SCO_CLOSE_EVT,
                                tBTA_AG_DATA::kEmpty));
    }
    return;
  }
  /* Make sure this SCO handle is not already in use */
+1 −3
Original line number Diff line number Diff line
@@ -773,14 +773,12 @@ bt_status_t HeadsetInterface::ConnectAudio(RawAddress* bd_addr) {
    LOG(ERROR) << ": SLC not connected for " << *bd_addr;
    return BT_STATUS_NOT_READY;
  }
  BTA_AgAudioOpen(btif_hf_cb[idx].handle);
  // Inform the application that the audio connection has been initiated
  // successfully
  do_in_jni_thread(base::Bind(&Callbacks::AudioStateCallback,
                              // Manual pointer management for now
                              base::Unretained(bt_hf_callbacks),
                              BTHF_AUDIO_STATE_CONNECTING,
                              &btif_hf_cb[idx].connected_bda));
  BTA_AgAudioOpen(btif_hf_cb[idx].handle);
  return BT_STATUS_SUCCESS;
}