From 5fe10f1ff8bf5be40a111a46f45f058a4f534839 Mon Sep 17 00:00:00 2001 From: Chinmay Chhajed Date: Fri, 17 Jul 2020 16:51:51 +0530 Subject: [PATCH] Bluedroid: Fixes cases having fallback to link up event. Signed-off-by: Chinmay Chhajed --- components/bt/host/bluedroid/btc/core/btc_dm.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/components/bt/host/bluedroid/btc/core/btc_dm.c b/components/bt/host/bluedroid/btc/core/btc_dm.c index eca3f5a7b..2319a0d29 100644 --- a/components/bt/host/bluedroid/btc/core/btc_dm.c +++ b/components/bt/host/bluedroid/btc/core/btc_dm.c @@ -305,11 +305,11 @@ static void btc_dm_link_up_evt(tBTA_DM_LINK_UP *p_link_up) BD_ADDR bd_addr; bt_bdaddr_t bt_bdaddr; - memcpy(bd_addr, p_link_up->bd_addr, sizeof(BD_ADDR)); - memcpy(bt_bdaddr.address, p_link_up->bd_addr, sizeof(BD_ADDR)); if (p_link_up->sc_downgrade == 1) { + memcpy(bt_bdaddr.address, p_link_up->bd_addr, sizeof(BD_ADDR)); if (btc_storage_remove_bonded_device(&bt_bdaddr) == BT_STATUS_SUCCESS) { + memcpy(bd_addr, p_link_up->bd_addr, sizeof(BD_ADDR)); if (BTA_DmRemoveDevice(bd_addr, BT_TRANSPORT_BR_EDR) == BTA_SUCCESS) { BTC_TRACE_EVENT(" %s() Bonding information removed.", __FUNCTION__); } else { @@ -690,12 +690,13 @@ void btc_dm_sec_cb_handler(btc_msg_t *msg) break; } #endif /* BTC_GAP_BT_INCLUDED == TRUE */ - case BTA_DM_LINK_UP_EVT: - btc_dm_link_up_evt(&p_data->link_up); case BTA_DM_LINK_DOWN_EVT: case BTA_DM_HW_ERROR_EVT: BTC_TRACE_DEBUG( "btc_dm_sec_cback : unhandled event (%d)\n", msg->act ); break; + case BTA_DM_LINK_UP_EVT: + btc_dm_link_up_evt(&p_data->link_up); + break; #if ((BLE_INCLUDED == TRUE) && (SMP_INCLUDED == TRUE)) case BTA_DM_BLE_AUTH_CMPL_EVT: { rsp_app = true;