Loading system/bta/dm/bta_dm_act.cc +24 −18 Original line number Diff line number Diff line Loading @@ -2514,7 +2514,7 @@ static void bta_dm_authentication_complete_cback( static tBTM_STATUS bta_dm_sp_cback(tBTM_SP_EVT event, tBTM_SP_EVT_DATA* p_data) { tBTM_STATUS status = BTM_CMD_STARTED; tBTA_DM_SEC sec_event; tBTA_DM_SEC sec_event = {}; tBTA_DM_SEC_EVT pin_evt = BTA_DM_SP_KEY_NOTIF_EVT; APPL_TRACE_EVENT("bta_dm_sp_cback: %d", event); Loading Loading @@ -2559,10 +2559,19 @@ static tBTM_STATUS bta_dm_sp_cback(tBTM_SP_EVT event, break; } // TODO PleaseFix: This assignment only works with event // BTM_SP_KEY_NOTIF_EVT bta_dm_cb.num_val = sec_event.key_notif.passkey = p_data->key_notif.passkey; if (BTM_SP_CFM_REQ_EVT == event) { /* Due to the switch case falling through below to BTM_SP_KEY_NOTIF_EVT, copy these values into key_notif from cfm_req */ sec_event.key_notif.bd_addr = p_data->cfm_req.bd_addr; dev_class_copy(sec_event.key_notif.dev_class, p_data->cfm_req.dev_class); bd_name_copy(sec_event.key_notif.bd_name, p_data->cfm_req.bd_name); /* Due to the switch case falling through below to BTM_SP_KEY_NOTIF_EVT, call remote name request using values from cfm_req */ if (p_data->cfm_req.bd_name[0] == 0) { Loading @@ -2573,23 +2582,20 @@ static tBTM_STATUS bta_dm_sp_cback(tBTM_SP_EVT event, bta_dm_cb.rmt_auth_req = sec_event.cfm_req.rmt_auth_req; bta_dm_cb.loc_auth_req = sec_event.cfm_req.loc_auth_req; BTA_COPY_DEVICE_CLASS(bta_dm_cb.pin_dev_class, p_data->cfm_req.dev_class); if ((BTM_ReadRemoteDeviceName( dev_class_copy(bta_dm_cb.pin_dev_class, p_data->cfm_req.dev_class); { const tBTM_STATUS btm_status = BTM_ReadRemoteDeviceName( p_data->cfm_req.bd_addr, bta_dm_pinname_cback, BT_TRANSPORT_BR_EDR)) == BTM_CMD_STARTED) return BTM_CMD_STARTED; APPL_TRACE_WARNING( " bta_dm_sp_cback() -> Failed to start Remote Name Request "); } else { /* Due to the switch case falling through below to BTM_SP_KEY_NOTIF_EVT, copy these values into key_notif from cfm_req */ sec_event.key_notif.bd_addr = p_data->cfm_req.bd_addr; BTA_COPY_DEVICE_CLASS(sec_event.key_notif.dev_class, p_data->cfm_req.dev_class); strlcpy((char*)sec_event.key_notif.bd_name, (char*)p_data->cfm_req.bd_name, BD_NAME_LEN + 1); BT_TRANSPORT_BR_EDR); switch (btm_status) { case BTM_CMD_STARTED: return btm_status; default: // NOTE: This will issue callback on this failure path LOG_WARN("Failed to start Remote Name Request btm_status:%s", btm_status_text(btm_status).c_str()); }; } } } Loading Loading
system/bta/dm/bta_dm_act.cc +24 −18 Original line number Diff line number Diff line Loading @@ -2514,7 +2514,7 @@ static void bta_dm_authentication_complete_cback( static tBTM_STATUS bta_dm_sp_cback(tBTM_SP_EVT event, tBTM_SP_EVT_DATA* p_data) { tBTM_STATUS status = BTM_CMD_STARTED; tBTA_DM_SEC sec_event; tBTA_DM_SEC sec_event = {}; tBTA_DM_SEC_EVT pin_evt = BTA_DM_SP_KEY_NOTIF_EVT; APPL_TRACE_EVENT("bta_dm_sp_cback: %d", event); Loading Loading @@ -2559,10 +2559,19 @@ static tBTM_STATUS bta_dm_sp_cback(tBTM_SP_EVT event, break; } // TODO PleaseFix: This assignment only works with event // BTM_SP_KEY_NOTIF_EVT bta_dm_cb.num_val = sec_event.key_notif.passkey = p_data->key_notif.passkey; if (BTM_SP_CFM_REQ_EVT == event) { /* Due to the switch case falling through below to BTM_SP_KEY_NOTIF_EVT, copy these values into key_notif from cfm_req */ sec_event.key_notif.bd_addr = p_data->cfm_req.bd_addr; dev_class_copy(sec_event.key_notif.dev_class, p_data->cfm_req.dev_class); bd_name_copy(sec_event.key_notif.bd_name, p_data->cfm_req.bd_name); /* Due to the switch case falling through below to BTM_SP_KEY_NOTIF_EVT, call remote name request using values from cfm_req */ if (p_data->cfm_req.bd_name[0] == 0) { Loading @@ -2573,23 +2582,20 @@ static tBTM_STATUS bta_dm_sp_cback(tBTM_SP_EVT event, bta_dm_cb.rmt_auth_req = sec_event.cfm_req.rmt_auth_req; bta_dm_cb.loc_auth_req = sec_event.cfm_req.loc_auth_req; BTA_COPY_DEVICE_CLASS(bta_dm_cb.pin_dev_class, p_data->cfm_req.dev_class); if ((BTM_ReadRemoteDeviceName( dev_class_copy(bta_dm_cb.pin_dev_class, p_data->cfm_req.dev_class); { const tBTM_STATUS btm_status = BTM_ReadRemoteDeviceName( p_data->cfm_req.bd_addr, bta_dm_pinname_cback, BT_TRANSPORT_BR_EDR)) == BTM_CMD_STARTED) return BTM_CMD_STARTED; APPL_TRACE_WARNING( " bta_dm_sp_cback() -> Failed to start Remote Name Request "); } else { /* Due to the switch case falling through below to BTM_SP_KEY_NOTIF_EVT, copy these values into key_notif from cfm_req */ sec_event.key_notif.bd_addr = p_data->cfm_req.bd_addr; BTA_COPY_DEVICE_CLASS(sec_event.key_notif.dev_class, p_data->cfm_req.dev_class); strlcpy((char*)sec_event.key_notif.bd_name, (char*)p_data->cfm_req.bd_name, BD_NAME_LEN + 1); BT_TRANSPORT_BR_EDR); switch (btm_status) { case BTM_CMD_STARTED: return btm_status; default: // NOTE: This will issue callback on this failure path LOG_WARN("Failed to start Remote Name Request btm_status:%s", btm_status_text(btm_status).c_str()); }; } } } Loading