Skip to content

Commit 684c812

Browse files
adigiejukkar
authored andcommitted
[nrf toup] Clear Thread Network after last fabric is removed
Dataset has to be cleared to allow commissioning to different network when CONFIG_CHIP_LAST_FABRIC_REMOVED_ERASE_ONLY is used. Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
1 parent 070048f commit 684c812

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

src/platform/OpenThread/GenericNetworkCommissioningThreadDriver.h

+2
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ class GenericThreadDriver final : public ThreadDriver
8787
connectNetworkTimeout = connectTimeoutSec;
8888
}
8989

90+
void ClearNetwork() { mStagingNetwork.Clear(); }
91+
9092
// BaseDriver
9193
NetworkIterator * GetNetworks() override { return new ThreadNetworkIterator(this); }
9294
CHIP_ERROR Init(Internal::BaseDriver::NetworkStatusChangeCallback * statusChangeCallback) override;

src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.hpp

+8
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,13 @@ void initNetworkCommissioningThreadDriver()
8787
#endif
8888
}
8989

90+
void resetGenericThreadDriver()
91+
{
92+
#ifndef _NO_GENERIC_THREAD_NETWORK_COMMISSIONING_DRIVER_
93+
sGenericThreadDriver.ClearNetwork();
94+
#endif
95+
}
96+
9097
#if CHIP_DEVICE_CONFIG_ENABLE_THREAD_DNS_CLIENT
9198
CHIP_ERROR ReadDomainNameComponent(const char *& in, char * out, size_t outSize)
9299
{
@@ -1257,6 +1264,7 @@ void GenericThreadStackManagerImpl_OpenThread<ImplClass>::_ErasePersistentInfo()
12571264
otThreadSetEnabled(mOTInst, false);
12581265
otIp6SetEnabled(mOTInst, false);
12591266
otInstanceErasePersistentInfo(mOTInst);
1267+
resetGenericThreadDriver();
12601268
Impl()->UnlockThreadStack();
12611269
}
12621270

0 commit comments

Comments
 (0)