From 0e3d2d39bb7dad01a70b6e810014c43cea235d24 Mon Sep 17 00:00:00 2001 From: Astha Verma Date: Mon, 16 Jun 2025 21:11:20 +0530 Subject: [PATCH] fix(nimble): Added parameter in peer_init for included service allocation --- nimble/host/src/ble_gattc_cache_conn.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/nimble/host/src/ble_gattc_cache_conn.c b/nimble/host/src/ble_gattc_cache_conn.c index d46ab1115..12e70b1ae 100644 --- a/nimble/host/src/ble_gattc_cache_conn.c +++ b/nimble/host/src/ble_gattc_cache_conn.c @@ -1902,14 +1902,18 @@ ble_gattc_cache_conn_disc_incs(struct ble_gattc_cache_conn *peer) } } } - peer->cache_state = INC_DISC_IN_PROGRESS; svc = peer->cur_svc; - rc = ble_gattc_find_inc_svcs(peer->conn_handle, - svc->svc.start_handle, - svc->svc.end_handle, - ble_gattc_cache_conn_inc_disced, peer); - if (rc != 0) { - ble_gattc_cache_conn_disc_chrs(peer); + if (svc !=NULL && !ble_gattc_cache_conn_svc_is_empty(svc)) { + peer->cache_state = INC_DISC_IN_PROGRESS; + rc = ble_gattc_find_inc_svcs(peer->conn_handle, + svc->svc.start_handle, + svc->svc.end_handle, + ble_gattc_cache_conn_inc_disced, peer); + if (rc != 0) { + ble_gattc_cache_conn_disc_chrs(peer); + } + } else { + ble_gattc_cache_conn_disc_chrs(peer); } return; }