From 5b019c5a96b44765a4e99aa8e0d59162b2ac4b89 Mon Sep 17 00:00:00 2001 From: Chris Manton Date: Wed, 11 Nov 2020 18:27:12 -0800 Subject: [PATCH] gatt: Properly put gatt status in field Bug: 172805487 Test: CtsVerifier Tag: #stability Change-Id: I4e730cd8b367fe9764bae3bc49a7a4ee8f00c708 --- bta/gatt/bta_gattc_act.cc | 9 +++++++-- bta/include/bta_gatt_api.h | 1 + btif/src/btif_gatt_client.cc | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/bta/gatt/bta_gattc_act.cc b/bta/gatt/bta_gattc_act.cc index 05cfd1839..d9a1f4891 100644 --- a/bta/gatt/bta_gattc_act.cc +++ b/bta/gatt/bta_gattc_act.cc @@ -527,12 +527,11 @@ void bta_gattc_close(tBTA_GATTC_CLCB* p_clcb, tBTA_GATTC_DATA* p_data) { tBTA_GATTC_RCB* p_clreg = p_clcb->p_rcb; tBTA_GATTC cb_data; - VLOG(1) << __func__ << ": conn_id=" << loghex(p_clcb->bta_conn_id); - cb_data.close.client_if = p_clcb->p_rcb->client_if; cb_data.close.conn_id = p_clcb->bta_conn_id; cb_data.close.reason = p_clcb->reason; cb_data.close.remote_bda = p_clcb->bda; + cb_data.close.status = GATT_SUCCESS; if (p_clcb->transport == BT_TRANSPORT_BR_EDR) bta_sys_conn_close(BTA_ID_GATTC, BTA_ALL_APP_ID, p_clcb->bda); @@ -541,8 +540,14 @@ void bta_gattc_close(tBTA_GATTC_CLCB* p_clcb, tBTA_GATTC_DATA* p_data) { if (p_data->hdr.event == BTA_GATTC_API_CLOSE_EVT) { GATT_Disconnect(p_data->hdr.layer_specific); + LOG_DEBUG("Local close event client_if:%hu conn_id:%hu reason:%hu", + cb_data.close.client_if, cb_data.close.conn_id, + cb_data.close.reason); } else if (p_data->hdr.event == BTA_GATTC_INT_DISCONN_EVT) { cb_data.close.reason = p_data->int_conn.reason; + LOG_DEBUG( + "Peer close disconnect event client_if:%hu conn_id:%hu reason:%hu", + cb_data.close.client_if, cb_data.close.conn_id, cb_data.close.reason); } if (p_cback) (*p_cback)(BTA_GATTC_CLOSE_EVT, &cb_data); diff --git a/bta/include/bta_gatt_api.h b/bta/include/bta_gatt_api.h index 25909b574..a97145c25 100644 --- a/bta/include/bta_gatt_api.h +++ b/bta/include/bta_gatt_api.h @@ -191,6 +191,7 @@ typedef struct { typedef struct { uint16_t conn_id; + tGATT_STATUS status; tGATT_IF client_if; RawAddress remote_bda; tBTA_GATT_REASON reason; /* disconnect reason code, not useful when connect diff --git a/btif/src/btif_gatt_client.cc b/btif/src/btif_gatt_client.cc index 5b5899373..3737259a7 100644 --- a/btif/src/btif_gatt_client.cc +++ b/btif/src/btif_gatt_client.cc @@ -149,7 +149,7 @@ void btif_gattc_upstreams_evt(uint16_t event, char* p_param) { case BTA_GATTC_CLOSE_EVT: { HAL_CBACK(bt_gatt_callbacks, client->close_cb, p_data->close.conn_id, - p_data->status, p_data->close.client_if, + p_data->close.status, p_data->close.client_if, p_data->close.remote_bda); break; } -- 2.11.0