diff --git a/src/lib/spinel/radio_spinel_impl.hpp b/src/lib/spinel/radio_spinel_impl.hpp index ff5334422..a4b0e75b6 100644 --- a/src/lib/spinel/radio_spinel_impl.hpp +++ b/src/lib/spinel/radio_spinel_impl.hpp @@ -1502,7 +1502,8 @@ otError RadioSpinel::Transmit(otRadioFrame &a { otError error = OT_ERROR_INVALID_STATE; - VerifyOrExit(mState == kStateReceive, OT_NOOP); + VerifyOrExit(mState == kStateReceive || (mState == kStateSleep && (mRadioCaps & OT_RADIO_CAPS_SLEEP_TO_TX)), + OT_NOOP); mTransmitFrame = &aFrame;