Bluetooth: Controller: llcp: setting of CTE related content in pdu_data

The llcp_pdu_encode_cte_rsp functio didn't set pdu_data fields related
with CTE transmission. The commit fixes that.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
This commit is contained in:
Piotr Pryga 2022-01-04 09:18:14 +01:00 committed by Christopher Friedt
commit 569cdaa58d
3 changed files with 11 additions and 4 deletions

View file

@ -758,7 +758,7 @@ static void rp_comm_tx(struct ll_conn *conn, struct proc_ctx *ctx)
}
if (!err_code) {
llcp_pdu_encode_cte_rsp(pdu);
llcp_pdu_encode_cte_rsp(conn, pdu);
ctx->rx_opcode = PDU_DATA_LLCTRL_TYPE_CTE_RSP;
} else {
llcp_pdu_encode_reject_ext_ind(pdu, PDU_DATA_LLCTRL_TYPE_CTE_REQ, err_code);

View file

@ -584,7 +584,7 @@ void llcp_ntf_encode_length_change(struct ll_conn *conn,
void llcp_pdu_encode_cte_req(struct proc_ctx *ctx, struct pdu_data *pdu);
void llcp_ntf_encode_cte_req(struct ll_conn *conn, struct pdu_data *pdu);
void llcp_pdu_decode_cte_req(struct ll_conn *conn, struct pdu_data *pdu);
void llcp_pdu_encode_cte_rsp(struct pdu_data *pdu);
void llcp_pdu_encode_cte_rsp(struct ll_conn *conn, struct pdu_data *pdu);
#endif /* CONFIG_BT_CTLR_DF_CONN_CTE_REQ */
#ifdef ZTEST_UNITTEST

View file

@ -743,11 +743,18 @@ void llcp_pdu_decode_cte_req(struct ll_conn *conn, struct pdu_data *pdu)
conn->llcp.cte_req.cte_type = pdu->llctrl.cte_req.cte_type_req;
}
void llcp_pdu_encode_cte_rsp(struct pdu_data *pdu)
void llcp_pdu_encode_cte_rsp(struct ll_conn *conn, struct pdu_data *pdu)
{
pdu->ll_id = PDU_DATA_LLID_CTRL;
pdu->len =
offsetof(struct pdu_data_llctrl, cte_rsp) + sizeof(struct pdu_data_llctrl_cte_rsp);
offsetof(struct pdu_data_llctrl, cte_rsp) + sizeof(struct pdu_data_llctrl_cte_rsp);
pdu->llctrl.opcode = PDU_DATA_LLCTRL_TYPE_CTE_RSP;
/* Set content of a PDU header first byte, that is not changed by LLL */
pdu->cp = 1U;
pdu->rfu = 0U;
pdu->cte_info.time = conn->llcp.cte_req.min_cte_len;
pdu->cte_info.type = conn->llcp.cte_req.cte_type;
}
#endif /* CONFIG_BT_CTLR_DF_CONN_CTE_REQ */