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);