From d0e4eb98b144c77275d89d60dcbacef465087df7 Mon Sep 17 00:00:00 2001 From: Astha Verma Date: Mon, 20 Apr 2026 14:25:15 +0530 Subject: [PATCH] fix(nimble): Preserve device name across ble_svc_gap_init re-call --- nimble/host/services/gap/src/ble_svc_gap.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/nimble/host/services/gap/src/ble_svc_gap.c b/nimble/host/services/gap/src/ble_svc_gap.c index 4fa2bf2ae..597ba2542 100644 --- a/nimble/host/services/gap/src/ble_svc_gap.c +++ b/nimble/host/services/gap/src/ble_svc_gap.c @@ -536,10 +536,8 @@ ble_svc_gap_appearance_init(void) BLE_HS_LOG(ERROR, "%s rc=%d\n", __func__, BLE_HS_ENOMEM); return BLE_HS_ENOMEM; } + ble_svc_gap_appearance = MYNEWT_VAL(BLE_SVC_GAP_APPEARANCE); } - - ble_svc_gap_appearance = MYNEWT_VAL(BLE_SVC_GAP_APPEARANCE); - return 0; } @@ -551,6 +549,11 @@ ble_svc_gap_init_name(void) return BLE_HS_EINVAL; } + if (ble_hs_gap_svc_ctx->svc_gap_name != NULL) { + /* Device name is already initialized (either default or set at runtime) */ + return 0; + } + const char *default_name = MYNEWT_VAL(BLE_SVC_GAP_DEVICE_NAME); size_t len = strlen(default_name);