diff --git a/adapter/common/net/bluetooth/ble/softbus_adapter_ble_gatt.c b/adapter/common/net/bluetooth/ble/softbus_adapter_ble_gatt.c index 11040f217c6713276856617f82b9e6bd902f706e..1df61a2cebbe9df735835bcddd6912f466397f11 100644 --- a/adapter/common/net/bluetooth/ble/softbus_adapter_ble_gatt.c +++ b/adapter/common/net/bluetooth/ble/softbus_adapter_ble_gatt.c @@ -804,6 +804,12 @@ int SoftBusStartAdvEx(int advId, const SoftBusBleAdvParams *param, return SOFTBUS_ERR; } } + if (g_advChannel[advId].advId != -1) { + CLOGE("already assigned an advId %d", g_advChannel[advId].advId); + SoftBusMutexUnlock(&g_advLock); + return SOFTBUS_ERR; + } + int ret = startAdvEx(&g_advChannel[advId].advId, param, &g_advChannel[advId].advData); CLOGI("inner-advId: %d, bt-advId: %d, ret: %d", advId, g_advChannel[advId].advId, ret); if (ret != SOFTBUS_OK) {