diff options
author | CNSS_WLAN Service <cnssbldsw@qualcomm.com> | 2023-04-20 05:33:24 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2023-04-20 05:33:24 -0700 |
commit | 3b713d9c02910691ec9dc213cac277a156532fd7 (patch) | |
tree | b717401dd532c90eb952f044f60cea24222e483a | |
parent | de58c84cf8e0dd6a57727a27be0ba259133373c2 (diff) | |
parent | 0e79846f8ee11b77e0255375c7485d17f808d585 (diff) |
Merge "add blacklist INTEROP_SEND_BONDED_INTENT_AFTER_SDP_TIMEOUT[2/3]" into bt-sys.lnx.13.0
-rw-r--r-- | btif/src/btif_dm.cc | 13 | ||||
-rw-r--r-- | device/include/interop.h | 4 |
2 files changed, 12 insertions, 5 deletions
diff --git a/btif/src/btif_dm.cc b/btif/src/btif_dm.cc index 095baba19..785a089e7 100644 --- a/btif/src/btif_dm.cc +++ b/btif/src/btif_dm.cc @@ -1844,11 +1844,14 @@ static void btif_dm_search_services_evt(uint16_t event, char* p_param) { /* When SDP failed, deleting bonded device from the database and sending * disconnect before moving bond state to BOND NONE. */ - BTIF_TRACE_WARNING("%s: deleting bonded device from database", __func__); - btif_storage_remove_bonded_device(&bd_addr); - BTA_DmRemoveDevice(bd_addr); - pairing_cb.sdp_attempts = 0; - bond_state_changed(BT_STATUS_FAIL, pairing_cb.bd_addr, BT_BOND_STATE_NONE); + if (!interop_match_addr_or_name( + INTEROP_SEND_BONDED_INTENT_AFTER_SDP_TIMEOUT, &bd_addr)) { + BTIF_TRACE_WARNING("%s: deleting bonded device from database", __func__); + btif_storage_remove_bonded_device(&bd_addr); + BTA_DmRemoveDevice(bd_addr); + pairing_cb.sdp_attempts = 0; + bond_state_changed(BT_STATUS_FAIL, pairing_cb.bd_addr, BT_BOND_STATE_NONE); + } return; } } diff --git a/device/include/interop.h b/device/include/interop.h index f188cec0b..c99d44442 100644 --- a/device/include/interop.h +++ b/device/include/interop.h @@ -309,6 +309,10 @@ typedef enum { // interop list. INTEROP_SKIP_ROBUST_CACHING_READ, + // Some dual-mode remote devices always failed to respond to sdp request. + // Send out the bonded intent after 3s timeout if sdp is still not finished. + INTEROP_SEND_BONDED_INTENT_AFTER_SDP_TIMEOUT, + END_OF_INTEROP_LIST } interop_feature_t; |