From f0530afa37bf0eff42001a7251b141e5678b1728 Mon Sep 17 00:00:00 2001 From: gabekassel Date: Fri, 22 Sep 2023 06:49:20 -0700 Subject: [PATCH] [spinel] reset mState to kStateDisabled if recovering from kStateDisaled (#9450) This commit changes openthread rcp recovery code to keep `mState` as `kStateDisabled` if the state before recovery was `kStateDisabled`. This is needed to avoid otbr-agent crash in the scenario where rcp recovery is triggered before otbr initialization. --- src/lib/spinel/radio_spinel_impl.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/spinel/radio_spinel_impl.hpp b/src/lib/spinel/radio_spinel_impl.hpp index 2119b5561..30d16bd43 100644 --- a/src/lib/spinel/radio_spinel_impl.hpp +++ b/src/lib/spinel/radio_spinel_impl.hpp @@ -2115,6 +2115,8 @@ template void RadioSpinel::RecoverFromRc switch (recoveringState) { case kStateDisabled: + mState = kStateDisabled; + break; case kStateSleep: break; case kStateReceive: