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

Commit 64983fef authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Prevent an infinite waiting of ACL connection to drain" am: 79f1ea66...

Merge "Prevent an infinite waiting of ACL connection to drain" am: 79f1ea66 am: b54f5705 am: 6a16344c am: 8b80018e

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/1984749

Change-Id: I2b21491b0784da077243dcb814cf791313ba8665
parents 1e4e8cab 8b80018e
Loading
Loading
Loading
Loading
+9 −11
Original line number Diff line number Diff line
@@ -489,21 +489,19 @@ static void bta_dm_wait_for_acl_to_drain_cback(void* data) {
  const WaitForAllAclConnectionsToDrain* pass =
      WaitForAllAclConnectionsToDrain::FromAlarmCallbackData(data);

  if (BTM_GetNumAclLinks() &&
  if (BTM_GetNumAclLinks() && force_disconnect_all_acl_connections() &&
      WaitForAllAclConnectionsToDrain::IsFirstPass(pass)) {
    /* DISABLE_EVT still need to be sent out to avoid java layer disable timeout
     */
    if (force_disconnect_all_acl_connections()) {
    LOG_DEBUG(
        "Set timer for second pass to wait for all ACL connections to "
        "close:%lu ms ",
        second_pass.TimeToWaitInMs());
      alarm_set_on_mloop(
          bta_dm_cb.disable_timer, second_pass.time_to_wait_in_ms,
          bta_dm_wait_for_acl_to_drain_cback, second_pass.AlarmCallbackData());
    }
    alarm_set_on_mloop(bta_dm_cb.disable_timer, second_pass.time_to_wait_in_ms,
                       bta_dm_wait_for_acl_to_drain_cback,
                       second_pass.AlarmCallbackData());
  } else {
    // No ACL links were up or is second pass at ACL closure
    // No ACL links to close were up or is second pass at ACL closure
    LOG_INFO("Ensuring all ACL connections have been properly flushed");
    bluetooth::shim::ACL_Shutdown();