summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCNSS_WLAN Service <cnssbldsw@qualcomm.com>2023-04-20 00:01:44 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2023-04-20 00:01:44 -0700
commit27360bf0cdf63344625638f2c5a79ed29ec726bc (patch)
tree16782545c45fdbc85a9f2021e8b65036a6d760e9
parentcb351c2c2b7c44c742b4ab4e4482122acc105956 (diff)
parentb3ad55a7775f875078f28024049c2a7427916bd1 (diff)
Merge "Read Client features only when remote BT version is 5.1 or above" into bt-sys.lnx.13.0
-rw-r--r--stack/btm/btm_acl.cc15
-rw-r--r--stack/gatt/gatt_main.cc17
2 files changed, 15 insertions, 17 deletions
diff --git a/stack/btm/btm_acl.cc b/stack/btm/btm_acl.cc
index eb8b530ce..4462dd6a1 100644
--- a/stack/btm/btm_acl.cc
+++ b/stack/btm/btm_acl.cc
@@ -58,6 +58,7 @@
#include "controller.h"
#include <btcommon_interface_defs.h>
#include "btif/include/btif_config.h"
+#include "stack/gatt/gatt_int.h"
static void btm_read_remote_features(uint16_t handle);
static void btm_read_remote_ext_features(uint16_t handle, uint8_t page_number);
@@ -1050,6 +1051,20 @@ void btm_read_remote_version_complete(uint8_t* p) {
if (p_acl_cb->transport == BT_TRANSPORT_LE) {
l2cble_notify_le_connection(p_acl_cb->remote_addr);
btm_use_preferred_conn_params(p_acl_cb->remote_addr);
+ if ((p_acl_cb->lmp_version >= HCI_PROTO_VERSION_5_1)
+ && gatt_is_robust_caching_enabled()) {
+ bool skip_caching_enable = false;
+ BD_NAME bd_name;
+ if (BTM_GetRemoteDeviceName(p_acl_cb->remote_addr, bd_name)) {
+ if (interop_database_match_name(INTEROP_SKIP_ROBUST_CACHING_READ, (char*) bd_name)) {
+ skip_caching_enable = true;
+ }
+ }
+ VLOG(1) << __func__ << " skip_caching_enable:" << +skip_caching_enable;
+ if (!skip_caching_enable) {
+ GATT_EnableRobustCaching(p_acl_cb->remote_addr, BT_TRANSPORT_LE);
+ }
+ }
}
VLOG(2) << __func__ << " btm_read_remote_version_complete: BDA: " << p_acl_cb->remote_addr;
BTM_TRACE_WARNING ("btm_read_remote_version_complete lmp_version %d manufacturer %d lmp_subversion %d",
diff --git a/stack/gatt/gatt_main.cc b/stack/gatt/gatt_main.cc
index a3fa189c2..71880b787 100644
--- a/stack/gatt/gatt_main.cc
+++ b/stack/gatt/gatt_main.cc
@@ -721,23 +721,6 @@ static void gatt_le_connect_cback(uint16_t chan, const RawAddress& bd_addr,
}
}
- if (gatt_is_robust_caching_enabled()) {
- bool skip_caching_enable = false;
- BD_NAME bd_name;
- VLOG(1) << StringPrintf("[%s] BTM_GetRemoteDeviceName: %s", __func__, bd_addr.ToString().c_str());
- if (BTM_GetRemoteDeviceName(bd_addr, bd_name)) {
- VLOG(1) << StringPrintf("[%s] FileDB Device name: %s", __func__, bd_name);
- if (interop_database_match_name(INTEROP_SKIP_ROBUST_CACHING_READ, (char*) bd_name)) {
- VLOG(1) << StringPrintf("[%s] Skip GATT_EnableRobustCaching", __func__);
- skip_caching_enable = true;
- }
- }
- VLOG(1) << StringPrintf("[%s] skip_caching_enable: %d", __func__, skip_caching_enable);
- if (!skip_caching_enable) {
- GATT_EnableRobustCaching(bd_addr, BT_TRANSPORT_LE);
- }
- }
-
}
/** This function is called to process the congestion callback from lcb */