@@ -379,15 +379,15 @@ CHIP_ERROR DnssdServer::Advertise(bool commissionableNode, chip::Dnssd::Commissi
379379
380380 auto & mdnsAdvertiser = chip::Dnssd::ServiceAdvertiser::Instance ();
381381
382- ChipLogProgress (Discovery, " Advertise commission parameter vendorID=%u productID=%u discriminator=%04u/%02u cm=%u cp=%u jf=%u" ,
383- advertiseParameters.GetVendorId ().value_or (0 ), advertiseParameters.GetProductId ().value_or (0 ),
384- advertiseParameters.GetLongDiscriminator (), advertiseParameters.GetShortDiscriminator (),
385- to_underlying (advertiseParameters.GetCommissioningMode ()),
386- advertiseParameters.GetCommissionerPasscodeSupported ().value_or (false ) ? 1 : 0 ,
382+ ChipLogDetail (Discovery, " Advertise commission parameter vendorID=%u productID=%u discriminator=%04u/%02u cm=%u cp=%u jf=%u" ,
383+ advertiseParameters.GetVendorId ().value_or (0 ), advertiseParameters.GetProductId ().value_or (0 ),
384+ advertiseParameters.GetLongDiscriminator (), advertiseParameters.GetShortDiscriminator (),
385+ to_underlying (advertiseParameters.GetCommissioningMode ()),
386+ advertiseParameters.GetCommissionerPasscodeSupported ().value_or (false ) ? 1 : 0 ,
387387#if CHIP_DEVICE_CONFIG_ENABLE_JOINT_FABRIC
388- advertiseParameters.GetJointFabricMode ().Raw ()
388+ advertiseParameters.GetJointFabricMode ().Raw ()
389389#else
390- 0 // Dummy value when Joint Fabric is disabled
390+ 0 // Dummy value when Joint Fabric is disabled
391391#endif // CHIP_DEVICE_CONFIG_ENABLE_JOINT_FABRIC
392392 );
393393
@@ -460,11 +460,15 @@ void DnssdServer::StartServer(Dnssd::CommissioningMode mode)
460460 SuccessOrLog (Dnssd::ServiceAdvertiser::Instance ().Init (chip::DeviceLayer::UDPEndPointManager ()), Discovery,
461461 " Failed to initialize advertiser" );
462462
463- SuccessOrLog (Dnssd::ServiceAdvertiser::Instance ().RemoveServices (), Discovery, " Failed to remove advertised services" );
463+ // No need to remove anything if it's not initialized
464+ if (Dnssd::ServiceAdvertiser::Instance ().IsInitialized ())
465+ {
466+ SuccessOrLog (Dnssd::ServiceAdvertiser::Instance ().RemoveServices (), Discovery, " Failed to remove advertised services" );
467+ }
464468
465469 SuccessOrLog (AdvertiseOperational (), Discovery, " Failed to advertise operational node" );
466470
467- if (mode != Dnssd::CommissioningMode::kDisabled )
471+ if (mode != Dnssd::CommissioningMode::kDisabled && Dnssd::ServiceAdvertiser::Instance (). IsInitialized () )
468472 {
469473 SuccessOrLog (AdvertiseCommissionableNode (mode), Discovery, " Failed to advertise commissionable node" );
470474 }
@@ -494,8 +498,10 @@ void DnssdServer::StartServer(Dnssd::CommissioningMode mode)
494498#if CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY
495499 SuccessOrLog (AdvertiseCommissioner (), Discovery, " Failed to advertise commissioner" );
496500#endif // CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY
497-
498- SuccessOrLog (Dnssd::ServiceAdvertiser::Instance ().FinalizeServiceUpdate (), Discovery, " Failed to finalize service update" );
501+ if (Dnssd::ServiceAdvertiser::Instance ().IsInitialized ())
502+ {
503+ SuccessOrLog (Dnssd::ServiceAdvertiser::Instance ().FinalizeServiceUpdate (), Discovery, " Failed to finalize service update" );
504+ }
499505}
500506
501507#if CHIP_ENABLE_ROTATING_DEVICE_ID && defined(CHIP_DEVICE_CONFIG_ROTATING_DEVICE_ID_UNIQUE_ID)
0 commit comments