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

Commit 0d70de30 authored by Chris Manton's avatar Chris Manton
Browse files

Reset channel configuration state after closure

Bug: 146086425
Test: bt_headless running multiple sdp queries
Change-Id: I20687fefdeb05ec3005e47dbd2cceb26e9130b26
parent 7493c481
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -92,6 +92,7 @@ void ClassicSignallingManager::SendDisconnectionRequest(Cid local_cid, Cid remot
      next_signal_id_, CommandCode::DISCONNECTION_REQUEST, {}, local_cid, remote_cid, {}, {}};
  next_signal_id_++;
  pending_commands_.push(std::move(pending_command));
  channel_configuration_[local_cid] = ChannelConfigurationState();
  if (command_just_sent_.signal_id_ == kInvalidSignalId) {
    handle_send_next_command();
  }
@@ -403,6 +404,7 @@ void ClassicSignallingManager::OnDisconnectionRequest(SignalId signal_id, Cid ci
    LOG_WARN("Disconnect request for an unknown channel");
    return;
  }
  channel_configuration_[cid] = ChannelConfigurationState();
  auto builder = DisconnectionResponseBuilder::Create(signal_id.Value(), cid, remote_cid);
  enqueue_buffer_->Enqueue(std::move(builder), handler_);
  channel->OnClosed(hci::ErrorCode::SUCCESS);