diff options
author | 2024-04-23 17:10:50 +0000 | |
---|---|---|
committer | 2024-04-23 17:10:50 +0000 | |
commit | 65718a9e4e0c23c0b48e034d19f958f394bd0f3d (patch) | |
tree | f54a4149ef145eae40d683876d0d021cca8d9b97 | |
parent | 2a9852d622bb083cd388a44386cac3d2f8acaf07 (diff) | |
parent | be38871d69461d9f1c9be19e7cfd00898ab62bdc (diff) |
Merge "Retry reading db hash if canceled" into main
-rw-r--r-- | system/bta/gatt/bta_gattc_act.cc | 10 |
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 |