From f79f9d155dd9a6f68d3cf41826b3bfecd426a4da Mon Sep 17 00:00:00 2001 From: Piotr Pryga Date: Fri, 28 Jan 2022 21:38:41 +0100 Subject: [PATCH] Bluetooth: Controller: df: refactor CTE REQ set disable Add a function that is responsible for set CTE request disabled. It is a refactoring, to have a single place where CTE request is_enabled and req_interval are zeroed. Signed-off-by: Piotr Pryga --- subsys/bluetooth/controller/ll_sw/ull_df.c | 3 +-- subsys/bluetooth/controller/ll_sw/ull_llcp.c | 6 ++++++ subsys/bluetooth/controller/ll_sw/ull_llcp.h | 5 +++++ subsys/bluetooth/controller/ll_sw/ull_llcp_common.c | 1 + 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/subsys/bluetooth/controller/ll_sw/ull_df.c b/subsys/bluetooth/controller/ll_sw/ull_df.c index 0af3d02d48b..d26e5c74622 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_df.c +++ b/subsys/bluetooth/controller/ll_sw/ull_df.c @@ -1160,8 +1160,7 @@ uint8_t ll_df_set_conn_cte_req_enable(uint16_t handle, uint8_t enable, } if (!enable) { - conn->llcp.cte_req.is_enabled = false; - conn->llcp.cte_req.req_interval = 0U; + ull_cp_cte_req_set_disable(conn); if (conn->llcp.cte_req.is_active) { struct k_sem sem; diff --git a/subsys/bluetooth/controller/ll_sw/ull_llcp.c b/subsys/bluetooth/controller/ll_sw/ull_llcp.c index 2a5810a5711..923e70fd2cf 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_llcp.c +++ b/subsys/bluetooth/controller/ll_sw/ull_llcp.c @@ -917,6 +917,12 @@ uint8_t ull_cp_cte_req(struct ll_conn *conn, uint8_t min_cte_len, uint8_t cte_ty return BT_HCI_ERR_SUCCESS; } + +void ull_cp_cte_req_set_disable(struct ll_conn *conn) +{ + conn->llcp.cte_req.is_enabled = 0U; + conn->llcp.cte_req.req_interval = 0U; +} #endif /* CONFIG_BT_CTLR_DF_CONN_CTE_REQ */ static bool pdu_is_expected(struct pdu_data *pdu, struct proc_ctx *ctx) diff --git a/subsys/bluetooth/controller/ll_sw/ull_llcp.h b/subsys/bluetooth/controller/ll_sw/ull_llcp.h index c7cf75ee514..2842d1b1fe4 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_llcp.h +++ b/subsys/bluetooth/controller/ll_sw/ull_llcp.h @@ -153,6 +153,11 @@ uint8_t ull_cp_data_length_update(struct ll_conn *conn, uint16_t max_tx_octets, */ uint8_t ull_cp_cte_req(struct ll_conn *conn, uint8_t min_cte_len, uint8_t cte_type); +/** + * @brief Set a CTE Request Procedure disabled. + */ +void ull_cp_cte_req_set_disable(struct ll_conn *conn); + /** * @brief Enable or disable response to CTE Request Procedure. */ diff --git a/subsys/bluetooth/controller/ll_sw/ull_llcp_common.c b/subsys/bluetooth/controller/ll_sw/ull_llcp_common.c index a752927b8be..d2d19fc05e1 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_llcp_common.c +++ b/subsys/bluetooth/controller/ll_sw/ull_llcp_common.c @@ -355,6 +355,7 @@ static void lp_comm_complete(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t } else { conn->llcp.cte_req.is_enabled = 0U; lp_comm_ntf(conn, ctx); + ull_cp_cte_req_set_disable(conn); } } else if (ctx->response_opcode == PDU_DATA_LLCTRL_TYPE_REJECT_EXT_IND && ctx->reject_ext_ind.reject_opcode == PDU_DATA_LLCTRL_TYPE_CTE_REQ) {