Adding transport type while initiating remote discovery
This change ensures that the completion of SMP pairing for LE
devices specifically requests remote device discovery based on
transport type set to LE to prevent initiation of BR/EDR
connection due to incorrect transport type info
Bug: 22515456
Change-Id: Id1e5603d3cc53ca3dff427b93059a00f8d9150a7
diff --git a/btif/src/btif_dm.c b/btif/src/btif_dm.c
index 1f3893e..1131c98 100644
--- a/btif/src/btif_dm.c
+++ b/btif/src/btif_dm.c
@@ -2574,6 +2574,31 @@
/*******************************************************************************
**
+** Function btif_dm_get_remote_services_transport
+**
+** Description Start SDP to get remote services by transport
+**
+** Returns bt_status_t
+**
+*******************************************************************************/
+bt_status_t btif_dm_get_remote_services_by_transport(bt_bdaddr_t *remote_addr, const int transport)
+{
+ BTIF_TRACE_EVENT("%s", __func__);
+
+ /* Set the mask extension */
+ tBTA_SERVICE_MASK_EXT mask_ext;
+ mask_ext.num_uuid = 0;
+ mask_ext.p_uuid = NULL;
+ mask_ext.srvc_mask = BTA_ALL_SERVICE_MASK;
+
+ BTA_DmDiscoverByTransport(remote_addr->address, &mask_ext,
+ bte_dm_search_services_evt, TRUE, transport);
+
+ return BT_STATUS_SUCCESS;
+}
+
+/*******************************************************************************
+**
** Function btif_dm_get_remote_service_record
**
** Description Start SDP to get remote service record
@@ -2879,7 +2904,7 @@
btif_dm_save_ble_bonding_keys();
}
BTA_GATTC_Refresh(bd_addr.address);
- btif_dm_get_remote_services(&bd_addr);
+ btif_dm_get_remote_services_by_transport(&bd_addr, BTA_GATT_TRANSPORT_LE);
}
else
{