diff --git a/src/platform/silabs/rs911x/BLEManagerImpl.cpp b/src/platform/silabs/rs911x/BLEManagerImpl.cpp index bc79b1429ff94a..a32d46b30f2715 100644 --- a/src/platform/silabs/rs911x/BLEManagerImpl.cpp +++ b/src/platform/silabs/rs911x/BLEManagerImpl.cpp @@ -656,7 +656,7 @@ CHIP_ERROR BLEManagerImpl::ConfigureAdvertisingData(void) CHIP_ERROR BLEManagerImpl::StartAdvertising(void) { - CHIP_ERROR err; + CHIP_ERROR err = CHIP_NO_ERROR; int32_t status = 0; ChipLogProgress(DeviceLayer, "StartAdvertising start"); @@ -675,8 +675,11 @@ CHIP_ERROR BLEManagerImpl::StartAdvertising(void) ChipLogDetail(DeviceLayer, "Start BLE advertissement"); } - err = ConfigureAdvertisingData(); - SuccessOrExit(err); + if (!(mFlags.Has(Flags::kAdvertising))) + { + err = ConfigureAdvertisingData(); + SuccessOrExit(err); + } mFlags.Clear(Flags::kRestartAdvertising);