OSDN Git Service

Add le transport to BTM_ReadRemoteVersion
authorChris Manton <cmanton@google.com>
Sat, 7 Nov 2020 04:31:37 +0000 (20:31 -0800)
committerChris Manton <cmanton@google.com>
Sat, 7 Nov 2020 06:37:16 +0000 (22:37 -0800)
Both classic/br_edr and le can use this command

Bug: 171568335
Tag: #refactor
Test: Paired 2 phones using LE/nRF

Change-Id: Ib644fa9cf21cbfac28e940b0dc5701637199496c

stack/acl/btm_acl.cc

index a08eeb0..39a24f9 100644 (file)
@@ -1496,17 +1496,20 @@ uint16_t BTM_GetMaxPacketSize(const RawAddress& addr) {
 
 bool BTM_ReadRemoteVersion(const RawAddress& addr, uint8_t* lmp_version,
                            uint16_t* manufacturer, uint16_t* lmp_sub_version) {
-  tACL_CONN* p = internal_.btm_bda_to_acl(addr, BT_TRANSPORT_BR_EDR);
-  if (p == NULL) {
-    LOG_WARN("Unable to find active acl");
-    return false;
+  const tACL_CONN* p_acl = internal_.btm_bda_to_acl(addr, BT_TRANSPORT_BR_EDR);
+  if (p_acl == nullptr) {
+    p_acl = internal_.btm_bda_to_acl(addr, BT_TRANSPORT_LE);
+    if (p_acl == nullptr) {
+      LOG_WARN("Unable to find active acl");
+      return false;
+    }
   }
 
-  if (lmp_version) *lmp_version = p->lmp_version;
+  if (lmp_version) *lmp_version = p_acl->lmp_version;
 
-  if (manufacturer) *manufacturer = p->manufacturer;
+  if (manufacturer) *manufacturer = p_acl->manufacturer;
 
-  if (lmp_sub_version) *lmp_sub_version = p->lmp_subversion;
+  if (lmp_sub_version) *lmp_sub_version = p_acl->lmp_subversion;
 
   return true;
 }