diff --git a/src/core/mac/mac.cpp b/src/core/mac/mac.cpp index 559c7d012..e5eda455b 100644 --- a/src/core/mac/mac.cpp +++ b/src/core/mac/mac.cpp @@ -349,13 +349,10 @@ const ExtAddress *Mac::GetExtAddress(void) const return &mExtAddress; } -ThreadError Mac::SetExtAddress(const ExtAddress &aExtAddress) +void Mac::SetExtAddress(const ExtAddress &aExtAddress) { - ThreadError error = kThreadError_None; uint8_t buf[sizeof(aExtAddress)]; - VerifyOrExit(!aExtAddress.IsGroup(), error = kThreadError_InvalidArgs); - for (size_t i = 0; i < sizeof(buf); i++) { buf[i] = aExtAddress.m8[7 - i]; @@ -363,9 +360,6 @@ ThreadError Mac::SetExtAddress(const ExtAddress &aExtAddress) otPlatRadioSetExtendedAddress(mNetif.GetInstance(), buf); mExtAddress = aExtAddress; - -exit: - return error; } void Mac::GetHashMacAddress(ExtAddress *aHashMacAddress) diff --git a/src/core/mac/mac.hpp b/src/core/mac/mac.hpp index a9d8bce21..95a5d6f1a 100644 --- a/src/core/mac/mac.hpp +++ b/src/core/mac/mac.hpp @@ -294,10 +294,8 @@ public: * * @param[in] aExtAddress A reference to the IEEE 802.15.4 Extended Address. * - * @retval kThreadError_None Successfully set the IEEE 802.15.4 Extended Address. - * */ - ThreadError SetExtAddress(const ExtAddress &aExtAddress); + void SetExtAddress(const ExtAddress &aExtAddress); /** * This method gets the Hash Mac Address. diff --git a/src/core/openthread.cpp b/src/core/openthread.cpp index a251fa056..cff550c21 100644 --- a/src/core/openthread.cpp +++ b/src/core/openthread.cpp @@ -141,8 +141,8 @@ ThreadError otSetExtendedAddress(otInstance *aInstance, const otExtAddress *aExt VerifyOrExit(aExtAddress != NULL, error = kThreadError_InvalidArgs); - SuccessOrExit(error = aInstance->mThreadNetif.GetMac().SetExtAddress(*static_cast - (aExtAddress))); + aInstance->mThreadNetif.GetMac().SetExtAddress(*static_cast(aExtAddress)); + SuccessOrExit(error = aInstance->mThreadNetif.GetMle().UpdateLinkLocalAddress()); exit: