Loading system/stack/acl/btm_acl.cc +2 −41 Original line number Diff line number Diff line Loading @@ -47,11 +47,11 @@ #include "device/include/interop.h" #include "hcidefs.h" #include "hcimsgs.h" #include "l2c_int.h" #include "main/shim/btm_api.h" #include "main/shim/shim.h" #include "osi/include/log.h" #include "osi/include/osi.h" #include "stack/include/l2cap_hci_link_interface.h" static void btm_read_remote_features(uint16_t handle); static void btm_read_remote_ext_features(uint16_t handle, uint8_t page_number); Loading Loading @@ -791,45 +791,6 @@ void BTM_SetDefaultLinkPolicy(uint16_t settings) { btsnd_hcic_write_def_policy_set(settings); } void btm_use_preferred_conn_params(const RawAddress& bda) { tL2C_LCB* p_lcb = l2cu_find_lcb_by_bd_addr(bda, BT_TRANSPORT_LE); tBTM_SEC_DEV_REC* p_dev_rec = btm_find_or_alloc_dev(bda); /* If there are any preferred connection parameters, set them now */ if ((p_lcb != NULL) && (p_dev_rec != NULL) && (p_dev_rec->conn_params.min_conn_int >= BTM_BLE_CONN_INT_MIN) && (p_dev_rec->conn_params.min_conn_int <= BTM_BLE_CONN_INT_MAX) && (p_dev_rec->conn_params.max_conn_int >= BTM_BLE_CONN_INT_MIN) && (p_dev_rec->conn_params.max_conn_int <= BTM_BLE_CONN_INT_MAX) && (p_dev_rec->conn_params.slave_latency <= BTM_BLE_CONN_LATENCY_MAX) && (p_dev_rec->conn_params.supervision_tout >= BTM_BLE_CONN_SUP_TOUT_MIN) && (p_dev_rec->conn_params.supervision_tout <= BTM_BLE_CONN_SUP_TOUT_MAX) && ((p_lcb->min_interval < p_dev_rec->conn_params.min_conn_int && p_dev_rec->conn_params.min_conn_int != BTM_BLE_CONN_PARAM_UNDEF) || (p_lcb->min_interval > p_dev_rec->conn_params.max_conn_int) || (p_lcb->latency > p_dev_rec->conn_params.slave_latency) || (p_lcb->timeout > p_dev_rec->conn_params.supervision_tout))) { BTM_TRACE_DEBUG( "%s: HANDLE=%d min_conn_int=%d max_conn_int=%d slave_latency=%d " "supervision_tout=%d", __func__, p_lcb->handle, p_dev_rec->conn_params.min_conn_int, p_dev_rec->conn_params.max_conn_int, p_dev_rec->conn_params.slave_latency, p_dev_rec->conn_params.supervision_tout); p_lcb->min_interval = p_dev_rec->conn_params.min_conn_int; p_lcb->max_interval = p_dev_rec->conn_params.max_conn_int; p_lcb->timeout = p_dev_rec->conn_params.supervision_tout; p_lcb->latency = p_dev_rec->conn_params.slave_latency; btsnd_hcic_ble_upd_ll_conn_params( p_lcb->handle, p_dev_rec->conn_params.min_conn_int, p_dev_rec->conn_params.max_conn_int, p_dev_rec->conn_params.slave_latency, p_dev_rec->conn_params.supervision_tout, 0, 0); } } /******************************************************************************* * * Function btm_read_remote_version_complete Loading Loading @@ -870,7 +831,7 @@ void btm_read_remote_version_complete(uint8_t* p) { if (p_acl_cb->transport == BT_TRANSPORT_LE) { l2cble_notify_le_connection(p_acl_cb->remote_addr); btm_use_preferred_conn_params(p_acl_cb->remote_addr); l2cble_use_preferred_conn_params(p_acl_cb->remote_addr); } break; } Loading system/stack/btm/btm_ble.cc +2 −3 Original line number Diff line number Diff line Loading @@ -39,13 +39,13 @@ #include "gap_api.h" #include "gatt_api.h" #include "hcimsgs.h" #include "l2c_int.h" #include "log/log.h" #include "main/shim/btm_api.h" #include "main/shim/shim.h" #include "osi/include/log.h" #include "osi/include/osi.h" #include "stack/crypto_toolbox/crypto_toolbox.h" #include "stack/include/l2cap_security_interface.h" extern void gatt_notify_phy_updated(uint8_t status, uint16_t handle, uint8_t tx_phy, uint8_t rx_phy); Loading Loading @@ -1134,8 +1134,7 @@ tL2CAP_LE_RESULT_CODE btm_ble_start_sec_check(const RawAddress& bd_addr, if (ble_sec_act == BTM_BLE_SEC_NONE) return result; tL2C_LCB* p_lcb = l2cu_find_lcb_by_bd_addr(bd_addr, BT_TRANSPORT_LE); p_lcb->sec_act = sec_act; l2cble_update_sec_act(bd_addr, sec_act); BTM_SetEncryption(bd_addr, BT_TRANSPORT_LE, p_callback, p_ref_data, ble_sec_act); Loading system/stack/btm/btm_ble_bgconn.cc +0 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,6 @@ #include "btu.h" #include "device/include/controller.h" #include "hcimsgs.h" #include "l2c_int.h" extern void btm_send_hci_create_connection( uint16_t scan_int, uint16_t scan_win, uint8_t init_filter_policy, Loading system/stack/include/l2cap_hci_link_interface.h +8 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,11 @@ extern void l2cble_process_data_length_change_event(uint16_t handle, uint16_t tx_data_len, uint16_t rx_data_len); // Notify to L2cap layer that ACL data or remote version is received extern void l2cble_notify_le_connection(const RawAddress& bda); void l2cble_use_preferred_conn_params(const RawAddress& bda); #if (BLE_LLT_INCLUDED == TRUE) extern void l2cble_process_rc_param_request_evt(uint16_t handle, uint16_t int_min, Loading @@ -56,3 +61,6 @@ extern void l2cble_process_rc_param_request_evt(uint16_t handle, // Invoked when HCI mode is changed to HCI_MODE_ACTIVE or HCI_MODE_SNIFF extern void l2c_OnHciModeChangeSendPendingPackets(RawAddress remote); // Invoked when HCI indicates to L2cap to check Security requirement extern void l2cu_resubmit_pending_sec_req(const RawAddress* p_bda); system/stack/include/l2cap_security_interface.h +3 −1 Original line number Diff line number Diff line Loading @@ -34,3 +34,5 @@ extern void l2cu_resubmit_pending_sec_req(const RawAddress* p_bda); // Returns BTM_CMD_STARTED if already connecting, BTM_NO_RESOURCES if can't // allocate lcb, BTM_SUCCESS if initiated the connection tBTM_STATUS l2cu_ConnectAclForSecurity(const RawAddress& bd_addr); extern void l2cble_update_sec_act(const RawAddress& bd_addr, uint16_t sec_act); Loading
system/stack/acl/btm_acl.cc +2 −41 Original line number Diff line number Diff line Loading @@ -47,11 +47,11 @@ #include "device/include/interop.h" #include "hcidefs.h" #include "hcimsgs.h" #include "l2c_int.h" #include "main/shim/btm_api.h" #include "main/shim/shim.h" #include "osi/include/log.h" #include "osi/include/osi.h" #include "stack/include/l2cap_hci_link_interface.h" static void btm_read_remote_features(uint16_t handle); static void btm_read_remote_ext_features(uint16_t handle, uint8_t page_number); Loading Loading @@ -791,45 +791,6 @@ void BTM_SetDefaultLinkPolicy(uint16_t settings) { btsnd_hcic_write_def_policy_set(settings); } void btm_use_preferred_conn_params(const RawAddress& bda) { tL2C_LCB* p_lcb = l2cu_find_lcb_by_bd_addr(bda, BT_TRANSPORT_LE); tBTM_SEC_DEV_REC* p_dev_rec = btm_find_or_alloc_dev(bda); /* If there are any preferred connection parameters, set them now */ if ((p_lcb != NULL) && (p_dev_rec != NULL) && (p_dev_rec->conn_params.min_conn_int >= BTM_BLE_CONN_INT_MIN) && (p_dev_rec->conn_params.min_conn_int <= BTM_BLE_CONN_INT_MAX) && (p_dev_rec->conn_params.max_conn_int >= BTM_BLE_CONN_INT_MIN) && (p_dev_rec->conn_params.max_conn_int <= BTM_BLE_CONN_INT_MAX) && (p_dev_rec->conn_params.slave_latency <= BTM_BLE_CONN_LATENCY_MAX) && (p_dev_rec->conn_params.supervision_tout >= BTM_BLE_CONN_SUP_TOUT_MIN) && (p_dev_rec->conn_params.supervision_tout <= BTM_BLE_CONN_SUP_TOUT_MAX) && ((p_lcb->min_interval < p_dev_rec->conn_params.min_conn_int && p_dev_rec->conn_params.min_conn_int != BTM_BLE_CONN_PARAM_UNDEF) || (p_lcb->min_interval > p_dev_rec->conn_params.max_conn_int) || (p_lcb->latency > p_dev_rec->conn_params.slave_latency) || (p_lcb->timeout > p_dev_rec->conn_params.supervision_tout))) { BTM_TRACE_DEBUG( "%s: HANDLE=%d min_conn_int=%d max_conn_int=%d slave_latency=%d " "supervision_tout=%d", __func__, p_lcb->handle, p_dev_rec->conn_params.min_conn_int, p_dev_rec->conn_params.max_conn_int, p_dev_rec->conn_params.slave_latency, p_dev_rec->conn_params.supervision_tout); p_lcb->min_interval = p_dev_rec->conn_params.min_conn_int; p_lcb->max_interval = p_dev_rec->conn_params.max_conn_int; p_lcb->timeout = p_dev_rec->conn_params.supervision_tout; p_lcb->latency = p_dev_rec->conn_params.slave_latency; btsnd_hcic_ble_upd_ll_conn_params( p_lcb->handle, p_dev_rec->conn_params.min_conn_int, p_dev_rec->conn_params.max_conn_int, p_dev_rec->conn_params.slave_latency, p_dev_rec->conn_params.supervision_tout, 0, 0); } } /******************************************************************************* * * Function btm_read_remote_version_complete Loading Loading @@ -870,7 +831,7 @@ void btm_read_remote_version_complete(uint8_t* p) { if (p_acl_cb->transport == BT_TRANSPORT_LE) { l2cble_notify_le_connection(p_acl_cb->remote_addr); btm_use_preferred_conn_params(p_acl_cb->remote_addr); l2cble_use_preferred_conn_params(p_acl_cb->remote_addr); } break; } Loading
system/stack/btm/btm_ble.cc +2 −3 Original line number Diff line number Diff line Loading @@ -39,13 +39,13 @@ #include "gap_api.h" #include "gatt_api.h" #include "hcimsgs.h" #include "l2c_int.h" #include "log/log.h" #include "main/shim/btm_api.h" #include "main/shim/shim.h" #include "osi/include/log.h" #include "osi/include/osi.h" #include "stack/crypto_toolbox/crypto_toolbox.h" #include "stack/include/l2cap_security_interface.h" extern void gatt_notify_phy_updated(uint8_t status, uint16_t handle, uint8_t tx_phy, uint8_t rx_phy); Loading Loading @@ -1134,8 +1134,7 @@ tL2CAP_LE_RESULT_CODE btm_ble_start_sec_check(const RawAddress& bd_addr, if (ble_sec_act == BTM_BLE_SEC_NONE) return result; tL2C_LCB* p_lcb = l2cu_find_lcb_by_bd_addr(bd_addr, BT_TRANSPORT_LE); p_lcb->sec_act = sec_act; l2cble_update_sec_act(bd_addr, sec_act); BTM_SetEncryption(bd_addr, BT_TRANSPORT_LE, p_callback, p_ref_data, ble_sec_act); Loading
system/stack/btm/btm_ble_bgconn.cc +0 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,6 @@ #include "btu.h" #include "device/include/controller.h" #include "hcimsgs.h" #include "l2c_int.h" extern void btm_send_hci_create_connection( uint16_t scan_int, uint16_t scan_win, uint8_t init_filter_policy, Loading
system/stack/include/l2cap_hci_link_interface.h +8 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,11 @@ extern void l2cble_process_data_length_change_event(uint16_t handle, uint16_t tx_data_len, uint16_t rx_data_len); // Notify to L2cap layer that ACL data or remote version is received extern void l2cble_notify_le_connection(const RawAddress& bda); void l2cble_use_preferred_conn_params(const RawAddress& bda); #if (BLE_LLT_INCLUDED == TRUE) extern void l2cble_process_rc_param_request_evt(uint16_t handle, uint16_t int_min, Loading @@ -56,3 +61,6 @@ extern void l2cble_process_rc_param_request_evt(uint16_t handle, // Invoked when HCI mode is changed to HCI_MODE_ACTIVE or HCI_MODE_SNIFF extern void l2c_OnHciModeChangeSendPendingPackets(RawAddress remote); // Invoked when HCI indicates to L2cap to check Security requirement extern void l2cu_resubmit_pending_sec_req(const RawAddress* p_bda);
system/stack/include/l2cap_security_interface.h +3 −1 Original line number Diff line number Diff line Loading @@ -34,3 +34,5 @@ extern void l2cu_resubmit_pending_sec_req(const RawAddress* p_bda); // Returns BTM_CMD_STARTED if already connecting, BTM_NO_RESOURCES if can't // allocate lcb, BTM_SUCCESS if initiated the connection tBTM_STATUS l2cu_ConnectAclForSecurity(const RawAddress& bd_addr); extern void l2cble_update_sec_act(const RawAddress& bd_addr, uint16_t sec_act);