diff --git a/third_party/NordicSemiconductor/drivers/radio/raal/softdevice/nrf_raal_softdevice.c b/third_party/NordicSemiconductor/drivers/radio/raal/softdevice/nrf_raal_softdevice.c index 0a6467f87..07854641c 100644 --- a/third_party/NordicSemiconductor/drivers/radio/raal/softdevice/nrf_raal_softdevice.c +++ b/third_party/NordicSemiconductor/drivers/radio/raal/softdevice/nrf_raal_softdevice.c @@ -327,12 +327,14 @@ static void timeslot_request(void) { timeslot_request_prepare(); + m_timeslot_state = TIMESLOT_STATE_REQUESTED; + // Request timeslot from SoftDevice. uint32_t err_code = sd_radio_request(&m_request); - if (err_code == NRF_SUCCESS) + if (err_code != NRF_SUCCESS) { - m_timeslot_state = TIMESLOT_STATE_REQUESTED; + m_timeslot_state = TIMESLOT_STATE_IDLE; } nrf_802154_log(EVENT_TIMESLOT_REQUEST, m_request.params.earliest.length_us);