mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 19:20:47 +03:00
Merge branch 'bugfix/fix_ble_pair_fail_v5.4' into 'release/v5.4'
fix(bt/bluedroid): fix BLE SMP pairing failure on BLE-only devices when using defalut param (5.4) See merge request espressif/esp-idf!47399
This commit is contained in:
@@ -1586,8 +1586,13 @@ typedef UINT8 tBTM_IO_CAP;
|
||||
#define BTM_BLE_CSR_KEY_MASK (1 << 2)
|
||||
#define BTM_BLE_LINK_KEY_MASK (1 << 3)
|
||||
|
||||
#define BTM_BLE_INITIATOR_KEY_SIZE 15
|
||||
#define BTM_BLE_RESPONDER_KEY_SIZE 15
|
||||
#if (CLASSIC_BT_INCLUDED == TRUE)
|
||||
#define BTM_BLE_INITIATOR_KEY_MASK (BTM_BLE_ENC_KEY_MASK | BTM_BLE_ID_KEY_MASK | BTM_BLE_CSR_KEY_MASK | BTM_BLE_LINK_KEY_MASK)
|
||||
#define BTM_BLE_RESPONDER_KEY_MASK (BTM_BLE_ENC_KEY_MASK | BTM_BLE_ID_KEY_MASK | BTM_BLE_CSR_KEY_MASK | BTM_BLE_LINK_KEY_MASK)
|
||||
#else
|
||||
#define BTM_BLE_INITIATOR_KEY_MASK (BTM_BLE_ENC_KEY_MASK | BTM_BLE_ID_KEY_MASK | BTM_BLE_CSR_KEY_MASK)
|
||||
#define BTM_BLE_RESPONDER_KEY_MASK (BTM_BLE_ENC_KEY_MASK | BTM_BLE_ID_KEY_MASK | BTM_BLE_CSR_KEY_MASK)
|
||||
#endif
|
||||
#define BTM_BLE_MAX_KEY_SIZE 16
|
||||
#define BTM_BLE_MIN_KEY_SIZE 7
|
||||
|
||||
|
||||
@@ -2333,9 +2333,10 @@ BOOLEAN smp_calculate_link_key_from_long_term_key(tSMP_CB *p_cb)
|
||||
link_key_type = BTM_LKEY_TYPE_UNAUTH_COMB;
|
||||
}
|
||||
} else {
|
||||
SMP_TRACE_ERROR ("%s failed to update link_key. Sec Mode = %d, sm4 = 0x%02x",
|
||||
__func__, btm_cb.security_mode, p_dev_rec->sm4);
|
||||
return FALSE;
|
||||
SMP_TRACE_WARNING ("%s BR/EDR transport not available (Sec Mode = %d, sm4 = 0x%02x), "
|
||||
"skip LK derivation",
|
||||
__func__, btm_cb.security_mode, p_dev_rec->sm4);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
link_key_type += BTM_LTK_DERIVED_LKEY_OFFSET;
|
||||
|
||||
Reference in New Issue
Block a user