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

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

Properly shim controller flags

Bug: 166280067
Tag: #refactor
Test: gd/cert/run --host
Test: ble paired 2 phones
Test: act.py -tc BleCocTest
Change-Id: I7d311bda8d86ca87032d8a45d35ab4d00a5d4038
parent 804607b5
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -35,10 +35,8 @@ struct Controller::impl {
  void Start(hci::HciLayer* hci) {
    hci_ = hci;
    Handler* handler = module_.GetHandler();
    if (bluetooth::common::InitFlags::GdCoreEnabled()) {
    hci_->RegisterEventHandler(
        EventCode::NUMBER_OF_COMPLETED_PACKETS, handler->BindOn(this, &Controller::impl::NumberOfCompletedPackets));
    }

    le_set_event_mask(kDefaultLeEventMask);
    set_event_mask(kDefaultEventMask);
+12 −0
Original line number Diff line number Diff line
@@ -232,6 +232,16 @@ static bool event_already_registered_in_hci_layer(
  }
}

static bool event_already_registered_in_controller_layer(
    bluetooth::hci::EventCode event_code) {
  switch (event_code) {
    case bluetooth::hci::EventCode::NUMBER_OF_COMPLETED_PACKETS:
      return bluetooth::shim::is_gd_controller_enabled();
    default:
      return false;
  }
}

static bool event_already_registered_in_acl_layer(
    bluetooth::hci::EventCode event_code) {
  for (auto event : bluetooth::hci::AclConnectionEvents) {
@@ -533,6 +543,8 @@ void bluetooth::shim::hci_on_reset_complete() {
    auto event_code = static_cast<bluetooth::hci::EventCode>(event_code_raw);
    if (event_already_registered_in_acl_layer(event_code)) {
      continue;
    } else if (event_already_registered_in_controller_layer(event_code)) {
      continue;
    } else if (event_already_registered_in_hci_layer(event_code)) {
      continue;
    } else if (event_already_registered_in_le_advertising_manager(event_code)) {