diff --git a/src/ble/sm.c b/src/ble/sm.c index 8cec3cdab..ddf0b00ab 100644 --- a/src/ble/sm.c +++ b/src/ble/sm.c @@ -2206,14 +2206,8 @@ static void sm_run_activate_connection(void){ #ifdef ENABLE_LE_CENTRAL case SM_INITIATOR_PH0_HAS_LTK: + case SM_INITIATOR_PH1_W2_SEND_PAIRING_REQUEST: // just lock context - break; - case SM_INITIATOR_PH1_W2_SEND_PAIRING_REQUEST: - sm_reset_setup(); - sm_init_setup(sm_connection); - sm_timeout_start(sm_connection); - sm_connection->sm_engine_state = SM_INITIATOR_PH1_SEND_PAIRING_REQUEST; - break; #endif default: @@ -2430,7 +2424,11 @@ static void sm_run(void){ return; } - case SM_INITIATOR_PH1_SEND_PAIRING_REQUEST: + case SM_INITIATOR_PH1_W2_SEND_PAIRING_REQUEST: + sm_reset_setup(); + sm_init_setup(connection); + sm_timeout_start(connection); + sm_pairing_packet_set_code(setup->sm_m_preq, SM_CODE_PAIRING_REQUEST); connection->sm_engine_state = SM_INITIATOR_PH1_W4_PAIRING_RESPONSE; l2cap_send_connectionless(connection->sm_handle, L2CAP_CID_SECURITY_MANAGER_PROTOCOL, (uint8_t*) &setup->sm_m_preq, sizeof(sm_pairing_packet_t)); diff --git a/src/hci.h b/src/hci.h index 00d622e07..a277ffb75 100644 --- a/src/hci.h +++ b/src/hci.h @@ -342,7 +342,6 @@ typedef enum { SM_INITIATOR_PH0_HAS_LTK, SM_INITIATOR_PH0_W4_CONNECTION_ENCRYPTED, SM_INITIATOR_PH1_W2_SEND_PAIRING_REQUEST, - SM_INITIATOR_PH1_SEND_PAIRING_REQUEST, SM_INITIATOR_PH1_W4_PAIRING_RESPONSE, SM_INITIATOR_PH2_W4_PAIRING_CONFIRM, SM_INITIATOR_PH2_W4_PAIRING_RANDOM,