diff --git a/components/bt/bluedroid/bta/dm/bta_dm_act.c b/components/bt/bluedroid/bta/dm/bta_dm_act.c index 7ee978b97b..8946e9bd14 100644 --- a/components/bt/bluedroid/bta/dm/bta_dm_act.c +++ b/components/bt/bluedroid/bta/dm/bta_dm_act.c @@ -2642,9 +2642,7 @@ static UINT8 bta_dm_authorize_cback (BD_ADDR bd_addr, DEV_CLASS dev_class, BD_NA } } - - - +#if (BTM_LOCAL_IO_CAPS != BTM_IO_CAP_NONE) /******************************************************************************* ** ** Function bta_dm_pinname_cback @@ -2701,6 +2699,7 @@ static UINT8 bta_dm_authorize_cback (BD_ADDR bd_addr, DEV_CLASS dev_class, BD_NA bta_dm_cb.p_sec_cback(event, &sec_event); } } +#endif //(BTM_LOCAL_IO_CAPS != BTM_IO_CAP_NONE) /******************************************************************************* ** @@ -2720,18 +2719,6 @@ static UINT8 bta_dm_pin_cback (BD_ADDR bd_addr, DEV_CLASS dev_class, BD_NAME bd_ return BTM_NOT_AUTHORIZED; } - /* If the device name is not known, save bdaddr and devclass and initiate a name request */ - if (bd_name[0] == 0) { - bta_dm_cb.pin_evt = BTA_DM_PIN_REQ_EVT; - bdcpy(bta_dm_cb.pin_bd_addr, bd_addr); - BTA_COPY_DEVICE_CLASS(bta_dm_cb.pin_dev_class, dev_class); - if ((BTM_ReadRemoteDeviceName(bd_addr, bta_dm_pinname_cback, BT_TRANSPORT_BR_EDR)) == BTM_CMD_STARTED) { - return BTM_CMD_STARTED; - } - - APPL_TRACE_WARNING(" bta_dm_pin_cback() -> Failed to start Remote Name Request "); - } - bdcpy(sec_event.pin_req.bd_addr, bd_addr); BTA_COPY_DEVICE_CLASS(sec_event.pin_req.dev_class, dev_class); BCM_STRNCPY_S((char *)sec_event.pin_req.bd_name, sizeof(BD_NAME), (char *)bd_name, (BD_NAME_LEN - 1)); diff --git a/components/bt/bluedroid/device/controller.c b/components/bt/bluedroid/device/controller.c index f0963b4695..2d4d29a4f4 100644 --- a/components/bt/bluedroid/device/controller.c +++ b/components/bt/bluedroid/device/controller.c @@ -250,10 +250,10 @@ static void start_up(void) } #endif - if (simple_pairing_supported) { - response = AWAIT_COMMAND(packet_factory->make_set_event_mask(&CLASSIC_EVENT_MASK)); - packet_parser->parse_generic_command_complete(response); - } + + response = AWAIT_COMMAND(packet_factory->make_set_event_mask(&CLASSIC_EVENT_MASK)); + packet_parser->parse_generic_command_complete(response); + #if (BTM_SCO_HCI_INCLUDED == TRUE) response = AWAIT_COMMAND(packet_factory->make_write_sync_flow_control_enable(1)); diff --git a/components/bt/bluedroid/stack/btm/btm_sec.c b/components/bt/bluedroid/stack/btm/btm_sec.c index 6933e3fb81..459931b9f1 100644 --- a/components/bt/bluedroid/stack/btm/btm_sec.c +++ b/components/bt/bluedroid/stack/btm/btm_sec.c @@ -5030,42 +5030,13 @@ void btm_sec_pin_code_request (UINT8 *p_bda) memcpy (p_cb->connecting_bda, p_bda, BD_ADDR_LEN); memcpy (p_cb->connecting_dc, p_dev_rec->dev_class, DEV_CLASS_LEN); - /* Check if the name is known */ - /* Even if name is not known we might not be able to get one */ - /* this is the case when we are already getting something from the */ - /* device, so HCI level is flow controlled */ - /* Also cannot send remote name request while paging, i.e. connection is not completed */ - if (p_dev_rec->sec_flags & BTM_SEC_NAME_KNOWN) { - BTM_TRACE_EVENT ("btm_sec_pin_code_request going for callback\n"); - - btm_cb.pairing_flags |= BTM_PAIR_FLAGS_PIN_REQD; - if (p_cb->api.p_pin_callback) { - (*p_cb->api.p_pin_callback) (p_bda, p_dev_rec->dev_class, p_dev_rec->sec_bd_name, - (p_dev_rec->p_cur_service == NULL) ? FALSE - : (p_dev_rec->p_cur_service->security_flags - & BTM_SEC_IN_MIN_16_DIGIT_PIN)); - } - } else { - BTM_TRACE_EVENT ("btm_sec_pin_code_request going for remote name\n"); - - /* We received PIN code request for the device with unknown name */ - /* it is not user friendly just to ask for the PIN without name */ - /* try to get name at first */ - if (!btsnd_hcic_rmt_name_req (p_dev_rec->bd_addr, - HCI_PAGE_SCAN_REP_MODE_R1, - HCI_MANDATARY_PAGE_SCAN_MODE, 0)) { - p_dev_rec->sec_flags |= BTM_SEC_NAME_KNOWN; - p_dev_rec->sec_bd_name[0] = 'f'; - p_dev_rec->sec_bd_name[1] = '0'; - BTM_TRACE_ERROR ("can not send rmt_name_req?? fake a name and call callback\n"); - - btm_cb.pairing_flags |= BTM_PAIR_FLAGS_PIN_REQD; - if (p_cb->api.p_pin_callback) - (*p_cb->api.p_pin_callback) (p_bda, p_dev_rec->dev_class, - p_dev_rec->sec_bd_name, (p_dev_rec->p_cur_service == NULL) ? FALSE - : (p_dev_rec->p_cur_service->security_flags - & BTM_SEC_IN_MIN_16_DIGIT_PIN)); - } + BTM_TRACE_EVENT ("btm_sec_pin_code_request going for callback\n"); + btm_cb.pairing_flags |= BTM_PAIR_FLAGS_PIN_REQD; + if (p_cb->api.p_pin_callback) { + (*p_cb->api.p_pin_callback) (p_bda, p_dev_rec->dev_class, p_dev_rec->sec_bd_name, + (p_dev_rec->p_cur_service == NULL) ? FALSE + : (p_dev_rec->p_cur_service->security_flags + & BTM_SEC_IN_MIN_16_DIGIT_PIN)); } } return;