if (btc_storage_get_remote_addr_type(&bdaddr, &addr_type) != BT_STATUS_SUCCESS) {
btc_storage_set_remote_addr_type(&bdaddr, p_auth_cmpl->addr_type, true);
}
- /* check the irk has been save in the flash or not, if the irk has already save, means that the peer device has bonding
- before. */
- if(pairing_cb.ble.is_pid_key_rcvd) {
- btc_storage_compare_address_key_value(&bdaddr, BTM_LE_KEY_PID,
- (void *)&pairing_cb.ble.pid_key, sizeof(tBTM_LE_PID_KEYS));
- }
btc_dm_save_ble_bonding_keys();
} else {
/*Map the HCI fail reason to bt status */
esp_err_t err;
size_t length = CONFIG_FILE_MAX_SIZE;
err = nvs_get_blob(fp, CONFIG_KEY, buf, &length);
+ if (err == ESP_ERR_NVS_NOT_FOUND) {
+ goto error;
+ }
if (err != ESP_OK) {
err_code |= 0x02;
goto error;
/* Now, re-submit anything in the mux queue */
bq = btm_cb.sec_pending_q;
-
- btm_cb.sec_pending_q = fixed_queue_new(SIZE_MAX);
+ if (!btm_cb.sec_pending_q) {
+ btm_cb.sec_pending_q = fixed_queue_new(SIZE_MAX);
+ }
while ((p_e = (tBTM_SEC_QUEUE_ENTRY *)fixed_queue_try_dequeue(bq)) != NULL) {
/* Check that the ACL is still up before starting security procedures */