diff --git a/subsys/bluetooth/controller/ll_sw/ull_llcp_common.c b/subsys/bluetooth/controller/ll_sw/ull_llcp_common.c index 18b073cfd53..d3c00dc573c 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_llcp_common.c +++ b/subsys/bluetooth/controller/ll_sw/ull_llcp_common.c @@ -216,6 +216,13 @@ static void lp_comm_complete_cte_req_finalize(struct ll_conn *conn) conn->llcp.cte_req.is_active = 0U; + /* Disable the CTE request procedure when it is completed in case it was executed as + * non-periodic. + */ + if (conn->llcp.cte_req.req_interval == 0U) { + conn->llcp.cte_req.is_enabled = 0U; + } + /* If disable_cb is not NULL then there is waiting CTE REQ disable request * from host. Execute the callback to notify waiting thread that the * procedure is inactive.