summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCNSS_WLAN Service <cnssbldsw@qualcomm.com>2023-04-20 05:33:24 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2023-04-20 05:33:24 -0700
commit3b713d9c02910691ec9dc213cac277a156532fd7 (patch)
treeb717401dd532c90eb952f044f60cea24222e483a
parentde58c84cf8e0dd6a57727a27be0ba259133373c2 (diff)
parent0e79846f8ee11b77e0255375c7485d17f808d585 (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.cc13
-rw-r--r--device/include/interop.h4
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;