diff --git a/src/darwin/Framework/CHIP/MTRDevice_Concrete.mm b/src/darwin/Framework/CHIP/MTRDevice_Concrete.mm index 19ca96c6d1201f..b2f39837eba14a 100644 --- a/src/darwin/Framework/CHIP/MTRDevice_Concrete.mm +++ b/src/darwin/Framework/CHIP/MTRDevice_Concrete.mm @@ -1072,6 +1072,7 @@ - (void)_triggerResubscribeWithReason:(NSString *)reason nodeLikelyReachable:(BO // The subscription reattempt here eventually asyncs onto the matter queue for session, // and should be called after the above ReleaseSession call, to avoid churn. if (shouldReattemptSubscription) { + std::lock_guard lock(_lock); [self _reattemptSubscriptionNowIfNeededWithReason:reason]; } }