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

Commit b8eb7be8 authored by Zach Johnson's avatar Zach Johnson
Browse files

Remove duplicate policy storage

Standardize on btm_def_link_policy

Bug: 159815595
Tag: #refactor
Test: compile & verify basic functions working
Change-Id: I244ad490b40f2794706c8a4711a203eaa6732adc
parent 772d999c
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -387,8 +387,6 @@ void BTA_dm_on_hw_on() {
  BTM_SecRegister(&bta_security);
  BTM_SetDefaultLinkSuperTout(p_bta_dm_cfg->link_timeout);
  BTM_WritePageTimeout(p_bta_dm_cfg->page_timeout);
  bta_dm_cb.cur_policy = p_bta_dm_cfg->policy_settings;
  BTM_SetDefaultLinkPolicy(bta_dm_cb.cur_policy);

#if (BLE_VND_INCLUDED == TRUE)
  BTM_BleReadControllerFeatures(bta_dm_ctrl_features_rd_cmpl_cback);
@@ -846,13 +844,13 @@ void BTA_dm_block_role_switch_for(const RawAddress& peer_addr) {
}

void BTA_dm_unblock_role_switch() {
  bta_dm_cb.cur_policy |= HCI_ENABLE_MASTER_SLAVE_SWITCH;
  BTM_SetDefaultLinkPolicy(bta_dm_cb.cur_policy);
  BTM_SetDefaultLinkPolicy(btm_cb.acl_cb_.btm_def_link_policy |
                           HCI_ENABLE_MASTER_SLAVE_SWITCH);
}

void BTA_dm_block_role_switch() {
  bta_dm_cb.cur_policy &= ~HCI_ENABLE_MASTER_SLAVE_SWITCH;
  BTM_SetDefaultLinkPolicy(bta_dm_cb.cur_policy);
  BTM_SetDefaultLinkPolicy(btm_cb.acl_cb_.btm_def_link_policy &
                           ~HCI_ENABLE_MASTER_SLAVE_SWITCH);
}

/** Send the user confirm request reply in response to a request from BTM */
@@ -2573,7 +2571,7 @@ static tBTA_DM_PEER_DEVICE* allocate_device_for(const RawAddress& bd_addr,
    auto device =
        &bta_dm_cb.device_list.peer_device[bta_dm_cb.device_list.count];
    device->peer_bdaddr = bd_addr;
    device->link_policy = bta_dm_cb.cur_policy;
    device->link_policy = btm_cb.acl_cb_.btm_def_link_policy;
    bta_dm_cb.device_list.count++;
    device->conn_handle = handle;
    if (transport == BT_TRANSPORT_LE) {
+0 −1
Original line number Diff line number Diff line
@@ -296,7 +296,6 @@ typedef struct {
  uint8_t num_master_only;
  uint8_t pm_id;
  tBTA_PM_TIMER pm_timer[BTA_DM_NUM_PM_TIMER];
  uint16_t cur_policy;    /* current default link policy */
  uint16_t rs_event;      /* the event waiting for role switch */
  uint8_t cur_av_count;   /* current AV connecions */
  bool disable_pair_mode; /* disable pair mode or not */
+3 −20
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@
#include <string.h>

#include "bt_types.h"
#include "bta/dm/bta_dm_int.h"
#include "btcore/include/module.h"
#include "btm_int.h"
#include "btu.h"
@@ -38,6 +39,7 @@
#include "hcimsgs.h"
#include "osi/include/osi.h"
#include "stack/gatt/connection_manager.h"
#include "stack/include/acl_api.h"
#include "stack/include/l2cap_controller_interface.h"

#include "bta/sys/bta_sys.h"
@@ -353,26 +355,7 @@ static void decode_controller_support() {
  BTM_TRACE_DEBUG("Local supported SCO packet types: 0x%04x",
                  btm_cb.btm_sco_pkt_types_supported);

  /* Create Default Policy Settings */
  if (controller->supports_role_switch())
    btm_cb.acl_cb_.btm_def_link_policy |= HCI_ENABLE_MASTER_SLAVE_SWITCH;
  else
    btm_cb.acl_cb_.btm_def_link_policy &= ~HCI_ENABLE_MASTER_SLAVE_SWITCH;

  if (controller->supports_hold_mode())
    btm_cb.acl_cb_.btm_def_link_policy |= HCI_ENABLE_HOLD_MODE;
  else
    btm_cb.acl_cb_.btm_def_link_policy &= ~HCI_ENABLE_HOLD_MODE;

  if (controller->supports_sniff_mode())
    btm_cb.acl_cb_.btm_def_link_policy |= HCI_ENABLE_SNIFF_MODE;
  else
    btm_cb.acl_cb_.btm_def_link_policy &= ~HCI_ENABLE_SNIFF_MODE;

  if (controller->supports_park_mode())
    btm_cb.acl_cb_.btm_def_link_policy |= HCI_ENABLE_PARK_MODE;
  else
    btm_cb.acl_cb_.btm_def_link_policy &= ~HCI_ENABLE_PARK_MODE;
  BTM_SetDefaultLinkPolicy(p_bta_dm_cfg->policy_settings);

  btm_sec_dev_reset();