Loading system/bta/av/bta_av_aact.cc +6 −6 Original line number Diff line number Diff line Loading @@ -1867,7 +1867,7 @@ void bta_av_do_start(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) { * It would not hurt us, if the peer device wants us to be master */ if ((BTM_GetRole(p_scb->PeerAddress(), &cur_role) == BTM_SUCCESS) && (cur_role == HCI_ROLE_MASTER)) { BTA_dm_block_role_switch_for(p_scb->PeerAddress()); BTM_block_role_switch_for(p_scb->PeerAddress()); } if (p_scb->started) { Loading Loading @@ -1938,7 +1938,7 @@ void bta_av_str_stopped(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) { bta_sys_idle(BTA_ID_AV, bta_av_cb.audio_open_cnt, p_scb->PeerAddress()); if ((bta_av_cb.features & BTA_AV_FEAT_MASTER) == 0 || bta_av_cb.audio_open_cnt == 1) { BTA_dm_unblock_role_switch_for(p_scb->PeerAddress()); BTM_unblock_role_switch_for(p_scb->PeerAddress()); } if (p_scb->co_started) { Loading Loading @@ -2372,7 +2372,7 @@ void bta_av_start_ok(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) { * master */ if ((BTM_GetRole(p_scb->PeerAddress(), &cur_role) == BTM_SUCCESS) && (cur_role == HCI_ROLE_MASTER)) { BTA_dm_block_role_switch_for(p_scb->PeerAddress()); BTM_block_role_switch_for(p_scb->PeerAddress()); } } Loading Loading @@ -2435,7 +2435,7 @@ void bta_av_start_failed(tBTA_AV_SCB* p_scb, UNUSED_ATTR tBTA_AV_DATA* p_data) { notify_start_failed(p_scb); } BTA_dm_unblock_role_switch_for(p_scb->PeerAddress()); BTM_unblock_role_switch_for(p_scb->PeerAddress()); p_scb->sco_suspend = false; } Loading @@ -2459,7 +2459,7 @@ void bta_av_str_closed(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) { if ((bta_av_cb.features & BTA_AV_FEAT_MASTER) == 0 || bta_av_cb.audio_open_cnt == 1) { BTA_dm_unblock_role_switch_for(p_scb->PeerAddress()); BTM_unblock_role_switch_for(p_scb->PeerAddress()); } if (bta_av_cb.audio_open_cnt <= 1) { BTM_default_unblock_role_switch(); Loading Loading @@ -2570,7 +2570,7 @@ void bta_av_suspend_cfm(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) { bta_sys_idle(BTA_ID_AV, bta_av_cb.audio_open_cnt, p_scb->PeerAddress()); if ((bta_av_cb.features & BTA_AV_FEAT_MASTER) == 0 || bta_av_cb.audio_open_cnt == 1) { BTA_dm_unblock_role_switch_for(p_scb->PeerAddress()); BTM_unblock_role_switch_for(p_scb->PeerAddress()); } /* in case that we received suspend_ind, we may need to call co_stop here */ Loading system/bta/av/bta_av_main.cc +4 −4 Original line number Diff line number Diff line Loading @@ -921,7 +921,7 @@ void bta_av_restore_switch(void) { mask = BTA_AV_HNDL_TO_MSK(i); if (p_cb->conn_audio == mask) { if (p_cb->p_scb[i]) { BTA_dm_unblock_role_switch_for(p_cb->p_scb[i]->PeerAddress()); BTM_unblock_role_switch_for(p_cb->p_scb[i]->PeerAddress()); } break; } Loading Loading @@ -974,7 +974,7 @@ static void bta_av_sys_rs_cback(UNUSED_ATTR tBTA_SYS_CONN_STATUS status, if ((HCI_SUCCESS != app_id) && (BTM_GetRole(peer_addr, &cur_role) == BTM_SUCCESS) && (cur_role == HCI_ROLE_SLAVE)) { BTA_dm_unblock_role_switch_for(peer_addr); BTM_unblock_role_switch_for(peer_addr); } /* if BTA_AvOpen() was called for other device, which caused the role switch Loading Loading @@ -1100,7 +1100,7 @@ bool bta_av_switch_if_needed(tBTA_AV_SCB* p_scb) { */ if (HCI_ROLE_MASTER != role) { if (bta_av_cb.features & BTA_AV_FEAT_MASTER) BTA_dm_block_role_switch_for(p_scbi->PeerAddress()); BTM_block_role_switch_for(p_scbi->PeerAddress()); if (BTM_CMD_STARTED != BTM_SwitchRole(p_scbi->PeerAddress(), HCI_ROLE_MASTER)) { /* can not switch role on SCBI Loading Loading @@ -1144,7 +1144,7 @@ bool bta_av_link_role_ok(tBTA_AV_SCB* p_scb, uint8_t bits) { (A2DP_BitsSet(bta_av_cb.conn_audio) > bits || (bta_av_cb.features & BTA_AV_FEAT_MASTER))) { if (bta_av_cb.features & BTA_AV_FEAT_MASTER) BTA_dm_block_role_switch_for(p_scb->PeerAddress()); BTM_block_role_switch_for(p_scb->PeerAddress()); tBTM_STATUS status = BTM_SwitchRole(p_scb->PeerAddress(), HCI_ROLE_MASTER); Loading system/bta/dm/bta_dm_act.cc +2 −38 Original line number Diff line number Diff line Loading @@ -804,42 +804,6 @@ void bta_dm_pin_reply(std::unique_ptr<tBTA_DM_API_PIN_REPLY> msg) { } } void BTA_dm_unblock_sniff_mode_for(const RawAddress& peer_addr) { auto p_dev = bta_dm_find_peer_device(peer_addr); if (!p_dev) { return; } p_dev->link_policy |= HCI_ENABLE_SNIFF_MODE; BTM_SetLinkPolicy(p_dev->peer_bdaddr, &(p_dev->link_policy)); } void BTA_dm_block_sniff_mode_for(const RawAddress& peer_addr) { auto p_dev = bta_dm_find_peer_device(peer_addr); if (!p_dev) { return; } p_dev->link_policy &= ~HCI_ENABLE_SNIFF_MODE; BTM_SetLinkPolicy(p_dev->peer_bdaddr, &(p_dev->link_policy)); } void BTA_dm_unblock_role_switch_for(const RawAddress& peer_addr) { auto p_dev = bta_dm_find_peer_device(peer_addr); if (!p_dev) { return; } p_dev->link_policy |= HCI_ENABLE_MASTER_SLAVE_SWITCH; BTM_SetLinkPolicy(p_dev->peer_bdaddr, &(p_dev->link_policy)); } void BTA_dm_block_role_switch_for(const RawAddress& peer_addr) { auto p_dev = bta_dm_find_peer_device(peer_addr); if (!p_dev) { return; } p_dev->link_policy &= ~HCI_ENABLE_MASTER_SLAVE_SWITCH; BTM_SetLinkPolicy(p_dev->peer_bdaddr, &(p_dev->link_policy)); } /** Send the user confirm request reply in response to a request from BTM */ void bta_dm_confirm(const RawAddress& bd_addr, bool accept) { BTM_ConfirmReqReply(accept ? BTM_SUCCESS : BTM_NOT_AUTHORIZED, bd_addr); Loading Loading @@ -2519,7 +2483,7 @@ static void handle_role_change(const RawAddress& bd_addr, uint8_t new_role, } if (need_policy_change) { BTA_dm_block_role_switch_for(p_dev->peer_bdaddr); BTM_block_role_switch_for(p_dev->peer_bdaddr); } } else { /* there's AV no activity on this link and role switch happened Loading Loading @@ -2710,7 +2674,7 @@ static void bta_dm_check_av() { /* make master and take away the role switch policy */ BTM_SwitchRole(p_dev->peer_bdaddr, HCI_ROLE_MASTER); /* else either already master or can not switch for some reasons */ BTA_dm_block_role_switch_for(p_dev->peer_bdaddr); BTM_block_role_switch_for(p_dev->peer_bdaddr); break; } } Loading system/bta/dm/bta_dm_pm.cc +2 −2 Original line number Diff line number Diff line Loading @@ -1072,10 +1072,10 @@ static void bta_dm_pm_hid_check(bool bScoActive) { bScoActive, bta_dm_conn_srvcs.conn_srvc[j].state); auto peer_addr = bta_dm_conn_srvcs.conn_srvc[j].peer_bdaddr; if (bScoActive) { BTA_dm_block_sniff_mode_for(peer_addr); BTM_block_sniff_mode_for(peer_addr); bta_dm_pm_active(peer_addr); } else { BTA_dm_unblock_sniff_mode_for(peer_addr); BTM_unblock_sniff_mode_for(peer_addr); bta_dm_pm_set_mode(peer_addr, BTA_DM_PM_NO_ACTION, BTA_DM_PM_RESTART); } } Loading system/bta/sys/bta_sys.h +0 −5 Original line number Diff line number Diff line Loading @@ -241,9 +241,4 @@ extern void bta_sys_remove_uuid(uint16_t uuid16); #define bta_sys_remove_uuid(ut) #endif void BTA_dm_unblock_sniff_mode_for(const RawAddress& peer_addr); void BTA_dm_block_sniff_mode_for(const RawAddress& peer_addr); void BTA_dm_unblock_role_switch_for(const RawAddress& peer_addr); void BTA_dm_block_role_switch_for(const RawAddress& peer_addr); #endif /* BTA_SYS_H */ Loading
system/bta/av/bta_av_aact.cc +6 −6 Original line number Diff line number Diff line Loading @@ -1867,7 +1867,7 @@ void bta_av_do_start(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) { * It would not hurt us, if the peer device wants us to be master */ if ((BTM_GetRole(p_scb->PeerAddress(), &cur_role) == BTM_SUCCESS) && (cur_role == HCI_ROLE_MASTER)) { BTA_dm_block_role_switch_for(p_scb->PeerAddress()); BTM_block_role_switch_for(p_scb->PeerAddress()); } if (p_scb->started) { Loading Loading @@ -1938,7 +1938,7 @@ void bta_av_str_stopped(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) { bta_sys_idle(BTA_ID_AV, bta_av_cb.audio_open_cnt, p_scb->PeerAddress()); if ((bta_av_cb.features & BTA_AV_FEAT_MASTER) == 0 || bta_av_cb.audio_open_cnt == 1) { BTA_dm_unblock_role_switch_for(p_scb->PeerAddress()); BTM_unblock_role_switch_for(p_scb->PeerAddress()); } if (p_scb->co_started) { Loading Loading @@ -2372,7 +2372,7 @@ void bta_av_start_ok(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) { * master */ if ((BTM_GetRole(p_scb->PeerAddress(), &cur_role) == BTM_SUCCESS) && (cur_role == HCI_ROLE_MASTER)) { BTA_dm_block_role_switch_for(p_scb->PeerAddress()); BTM_block_role_switch_for(p_scb->PeerAddress()); } } Loading Loading @@ -2435,7 +2435,7 @@ void bta_av_start_failed(tBTA_AV_SCB* p_scb, UNUSED_ATTR tBTA_AV_DATA* p_data) { notify_start_failed(p_scb); } BTA_dm_unblock_role_switch_for(p_scb->PeerAddress()); BTM_unblock_role_switch_for(p_scb->PeerAddress()); p_scb->sco_suspend = false; } Loading @@ -2459,7 +2459,7 @@ void bta_av_str_closed(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) { if ((bta_av_cb.features & BTA_AV_FEAT_MASTER) == 0 || bta_av_cb.audio_open_cnt == 1) { BTA_dm_unblock_role_switch_for(p_scb->PeerAddress()); BTM_unblock_role_switch_for(p_scb->PeerAddress()); } if (bta_av_cb.audio_open_cnt <= 1) { BTM_default_unblock_role_switch(); Loading Loading @@ -2570,7 +2570,7 @@ void bta_av_suspend_cfm(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) { bta_sys_idle(BTA_ID_AV, bta_av_cb.audio_open_cnt, p_scb->PeerAddress()); if ((bta_av_cb.features & BTA_AV_FEAT_MASTER) == 0 || bta_av_cb.audio_open_cnt == 1) { BTA_dm_unblock_role_switch_for(p_scb->PeerAddress()); BTM_unblock_role_switch_for(p_scb->PeerAddress()); } /* in case that we received suspend_ind, we may need to call co_stop here */ Loading
system/bta/av/bta_av_main.cc +4 −4 Original line number Diff line number Diff line Loading @@ -921,7 +921,7 @@ void bta_av_restore_switch(void) { mask = BTA_AV_HNDL_TO_MSK(i); if (p_cb->conn_audio == mask) { if (p_cb->p_scb[i]) { BTA_dm_unblock_role_switch_for(p_cb->p_scb[i]->PeerAddress()); BTM_unblock_role_switch_for(p_cb->p_scb[i]->PeerAddress()); } break; } Loading Loading @@ -974,7 +974,7 @@ static void bta_av_sys_rs_cback(UNUSED_ATTR tBTA_SYS_CONN_STATUS status, if ((HCI_SUCCESS != app_id) && (BTM_GetRole(peer_addr, &cur_role) == BTM_SUCCESS) && (cur_role == HCI_ROLE_SLAVE)) { BTA_dm_unblock_role_switch_for(peer_addr); BTM_unblock_role_switch_for(peer_addr); } /* if BTA_AvOpen() was called for other device, which caused the role switch Loading Loading @@ -1100,7 +1100,7 @@ bool bta_av_switch_if_needed(tBTA_AV_SCB* p_scb) { */ if (HCI_ROLE_MASTER != role) { if (bta_av_cb.features & BTA_AV_FEAT_MASTER) BTA_dm_block_role_switch_for(p_scbi->PeerAddress()); BTM_block_role_switch_for(p_scbi->PeerAddress()); if (BTM_CMD_STARTED != BTM_SwitchRole(p_scbi->PeerAddress(), HCI_ROLE_MASTER)) { /* can not switch role on SCBI Loading Loading @@ -1144,7 +1144,7 @@ bool bta_av_link_role_ok(tBTA_AV_SCB* p_scb, uint8_t bits) { (A2DP_BitsSet(bta_av_cb.conn_audio) > bits || (bta_av_cb.features & BTA_AV_FEAT_MASTER))) { if (bta_av_cb.features & BTA_AV_FEAT_MASTER) BTA_dm_block_role_switch_for(p_scb->PeerAddress()); BTM_block_role_switch_for(p_scb->PeerAddress()); tBTM_STATUS status = BTM_SwitchRole(p_scb->PeerAddress(), HCI_ROLE_MASTER); Loading
system/bta/dm/bta_dm_act.cc +2 −38 Original line number Diff line number Diff line Loading @@ -804,42 +804,6 @@ void bta_dm_pin_reply(std::unique_ptr<tBTA_DM_API_PIN_REPLY> msg) { } } void BTA_dm_unblock_sniff_mode_for(const RawAddress& peer_addr) { auto p_dev = bta_dm_find_peer_device(peer_addr); if (!p_dev) { return; } p_dev->link_policy |= HCI_ENABLE_SNIFF_MODE; BTM_SetLinkPolicy(p_dev->peer_bdaddr, &(p_dev->link_policy)); } void BTA_dm_block_sniff_mode_for(const RawAddress& peer_addr) { auto p_dev = bta_dm_find_peer_device(peer_addr); if (!p_dev) { return; } p_dev->link_policy &= ~HCI_ENABLE_SNIFF_MODE; BTM_SetLinkPolicy(p_dev->peer_bdaddr, &(p_dev->link_policy)); } void BTA_dm_unblock_role_switch_for(const RawAddress& peer_addr) { auto p_dev = bta_dm_find_peer_device(peer_addr); if (!p_dev) { return; } p_dev->link_policy |= HCI_ENABLE_MASTER_SLAVE_SWITCH; BTM_SetLinkPolicy(p_dev->peer_bdaddr, &(p_dev->link_policy)); } void BTA_dm_block_role_switch_for(const RawAddress& peer_addr) { auto p_dev = bta_dm_find_peer_device(peer_addr); if (!p_dev) { return; } p_dev->link_policy &= ~HCI_ENABLE_MASTER_SLAVE_SWITCH; BTM_SetLinkPolicy(p_dev->peer_bdaddr, &(p_dev->link_policy)); } /** Send the user confirm request reply in response to a request from BTM */ void bta_dm_confirm(const RawAddress& bd_addr, bool accept) { BTM_ConfirmReqReply(accept ? BTM_SUCCESS : BTM_NOT_AUTHORIZED, bd_addr); Loading Loading @@ -2519,7 +2483,7 @@ static void handle_role_change(const RawAddress& bd_addr, uint8_t new_role, } if (need_policy_change) { BTA_dm_block_role_switch_for(p_dev->peer_bdaddr); BTM_block_role_switch_for(p_dev->peer_bdaddr); } } else { /* there's AV no activity on this link and role switch happened Loading Loading @@ -2710,7 +2674,7 @@ static void bta_dm_check_av() { /* make master and take away the role switch policy */ BTM_SwitchRole(p_dev->peer_bdaddr, HCI_ROLE_MASTER); /* else either already master or can not switch for some reasons */ BTA_dm_block_role_switch_for(p_dev->peer_bdaddr); BTM_block_role_switch_for(p_dev->peer_bdaddr); break; } } Loading
system/bta/dm/bta_dm_pm.cc +2 −2 Original line number Diff line number Diff line Loading @@ -1072,10 +1072,10 @@ static void bta_dm_pm_hid_check(bool bScoActive) { bScoActive, bta_dm_conn_srvcs.conn_srvc[j].state); auto peer_addr = bta_dm_conn_srvcs.conn_srvc[j].peer_bdaddr; if (bScoActive) { BTA_dm_block_sniff_mode_for(peer_addr); BTM_block_sniff_mode_for(peer_addr); bta_dm_pm_active(peer_addr); } else { BTA_dm_unblock_sniff_mode_for(peer_addr); BTM_unblock_sniff_mode_for(peer_addr); bta_dm_pm_set_mode(peer_addr, BTA_DM_PM_NO_ACTION, BTA_DM_PM_RESTART); } } Loading
system/bta/sys/bta_sys.h +0 −5 Original line number Diff line number Diff line Loading @@ -241,9 +241,4 @@ extern void bta_sys_remove_uuid(uint16_t uuid16); #define bta_sys_remove_uuid(ut) #endif void BTA_dm_unblock_sniff_mode_for(const RawAddress& peer_addr); void BTA_dm_block_sniff_mode_for(const RawAddress& peer_addr); void BTA_dm_unblock_role_switch_for(const RawAddress& peer_addr); void BTA_dm_block_role_switch_for(const RawAddress& peer_addr); #endif /* BTA_SYS_H */