Skip to content

Commit 1ec35ba

Browse files
committed
Merge branch 'bugfix/bt_linkup_fallback_event' into 'master'
Bluedroid: Fixes cases having fallback to link up event. Closes BT-944 See merge request espressif/esp-idf!9671
2 parents 35007bd + 4a0c137 commit 1ec35ba

File tree

1 file changed

+5
-4
lines changed
  • components/bt/host/bluedroid/btc/core

1 file changed

+5
-4
lines changed

components/bt/host/bluedroid/btc/core/btc_dm.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -308,11 +308,11 @@ static void btc_dm_link_up_evt(tBTA_DM_LINK_UP *p_link_up)
308308
BD_ADDR bd_addr;
309309
bt_bdaddr_t bt_bdaddr;
310310

311-
memcpy(bd_addr, p_link_up->bd_addr, sizeof(BD_ADDR));
312-
memcpy(bt_bdaddr.address, p_link_up->bd_addr, sizeof(BD_ADDR));
313311

314312
if (p_link_up->sc_downgrade == 1) {
313+
memcpy(bt_bdaddr.address, p_link_up->bd_addr, sizeof(BD_ADDR));
315314
if (btc_storage_remove_bonded_device(&bt_bdaddr) == BT_STATUS_SUCCESS) {
315+
memcpy(bd_addr, p_link_up->bd_addr, sizeof(BD_ADDR));
316316
if (BTA_DmRemoveDevice(bd_addr, BT_TRANSPORT_BR_EDR) == BTA_SUCCESS) {
317317
BTC_TRACE_EVENT(" %s() Bonding information removed.", __FUNCTION__);
318318
} else {
@@ -698,12 +698,13 @@ void btc_dm_sec_cb_handler(btc_msg_t *msg)
698698
break;
699699
}
700700
#endif /* BTC_GAP_BT_INCLUDED == TRUE */
701-
case BTA_DM_LINK_UP_EVT:
702-
btc_dm_link_up_evt(&p_data->link_up);
703701
case BTA_DM_LINK_DOWN_EVT:
704702
case BTA_DM_HW_ERROR_EVT:
705703
BTC_TRACE_DEBUG( "btc_dm_sec_cback : unhandled event (%d)\n", msg->act );
706704
break;
705+
case BTA_DM_LINK_UP_EVT:
706+
btc_dm_link_up_evt(&p_data->link_up);
707+
break;
707708
#if ((BLE_INCLUDED == TRUE) && (SMP_INCLUDED == TRUE))
708709
case BTA_DM_BLE_AUTH_CMPL_EVT: {
709710
rsp_app = true;

0 commit comments

Comments
 (0)