From 3928d8e3ed5e5ed0f2a36fc0226701c0f6ba2f79 Mon Sep 17 00:00:00 2001 From: Jakub Pawlowski Date: Mon, 24 Apr 2017 06:34:11 -0700 Subject: [PATCH] Handle remote not supporting LL_SLAVE_FEATURE_REQ Test: for PTS Change-Id: I3030a068c1c4980fa7cbb23b478afbe441584869 (cherry picked from commit 341b6db90d67e76ea9262c5e9f3ba5063cb93598) --- stack/btm/btm_ble_gap.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/stack/btm/btm_ble_gap.cc b/stack/btm/btm_ble_gap.cc index db12f219a..4ce05842d 100644 --- a/stack/btm/btm_ble_gap.cc +++ b/stack/btm/btm_ble_gap.cc @@ -2561,8 +2561,9 @@ void btm_ble_read_remote_features_complete(uint8_t* p) { handle = handle & 0x0FFF; // only 12 bits meaningful if (status != HCI_SUCCESS) { - BTM_TRACE_ERROR("%s: failed for handle: 0x%04d", __func__, handle); - return; + BTM_TRACE_ERROR("%s: failed for handle: 0x%04d, status 0x%02x", __func__, + handle, status); + if (status != HCI_ERR_UNSUPPORTED_REM_FEATURE) return; } int idx = btm_handle_to_acl_index(handle); @@ -2571,7 +2572,9 @@ void btm_ble_read_remote_features_complete(uint8_t* p) { return; } - STREAM_TO_ARRAY(btm_cb.acl_db[idx].peer_le_features, p, BD_FEATURES_LEN); + if (status == HCI_SUCCESS) { + STREAM_TO_ARRAY(btm_cb.acl_db[idx].peer_le_features, p, BD_FEATURES_LEN); + } btsnd_hcic_rmt_ver_req(handle); } -- 2.11.0