summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kyunglyul Hyun <klhyun@google.com> 2024-04-23 17:10:50 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2024-04-23 17:10:50 +0000
commit65718a9e4e0c23c0b48e034d19f958f394bd0f3d (patch)
treef54a4149ef145eae40d683876d0d021cca8d9b97
parent2a9852d622bb083cd388a44386cac3d2f8acaf07 (diff)
parentbe38871d69461d9f1c9be19e7cfd00898ab62bdc (diff)
Merge "Retry reading db hash if canceled" into main
-rw-r--r--system/bta/gatt/bta_gattc_act.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/system/bta/gatt/bta_gattc_act.cc b/system/bta/gatt/bta_gattc_act.cc
index d6994c9622..d23ed8e01f 100644
--- a/system/bta/gatt/bta_gattc_act.cc
+++ b/system/bta/gatt/bta_gattc_act.cc
@@ -709,10 +709,16 @@ void bta_gattc_disc_close(tBTA_GATTC_CLCB* p_clcb,
const tBTA_GATTC_DATA* p_data) {
log::verbose("Discovery cancel conn_id={}", loghex(p_clcb->bta_conn_id));
- if (p_clcb->disc_active)
+ if (p_clcb->disc_active ||
+ (IS_FLAG_ENABLED(gatt_rediscover_on_canceled) &&
+ (p_clcb->request_during_discovery ==
+ BTA_GATTC_DISCOVER_REQ_READ_DB_HASH ||
+ p_clcb->request_during_discovery ==
+ BTA_GATTC_DISCOVER_REQ_READ_DB_HASH_FOR_SVC_CHG))) {
bta_gattc_reset_discover_st(p_clcb->p_srcb, GATT_ERROR);
- else
+ } else {
p_clcb->state = BTA_GATTC_CONN_ST;
+ }
// This function only gets called as the result of a BTA_GATTC_API_CLOSE_EVT
// while in the BTA_GATTC_DISCOVER_ST state. Once the state changes, the