@@ -2786,14 +2786,19 @@ static inline void event_len_prep(struct ll_conn *conn)
27862786 pdu_ctrl_tx -> llctrl .opcode = PDU_DATA_LLCTRL_TYPE_LENGTH_REQ ;
27872787
27882788 lr = & pdu_ctrl_tx -> llctrl .length_req ;
2789- lr -> max_rx_octets = LL_LENGTH_OCTETS_RX_MAX ;
2790- lr -> max_tx_octets = conn -> default_tx_octets ;
2789+ lr -> max_rx_octets = sys_cpu_to_le16 ( LL_LENGTH_OCTETS_RX_MAX ) ;
2790+ lr -> max_tx_octets = sys_cpu_to_le16 ( conn -> default_tx_octets ) ;
27912791#if !defined(CONFIG_BT_CTLR_PHY )
2792- lr -> max_rx_time = PKT_US (LL_LENGTH_OCTETS_RX_MAX , 0 );
2793- lr -> max_tx_time = PKT_US (conn -> default_tx_octets , 0 );
2792+ lr -> max_rx_time =
2793+ sys_cpu_to_le16 (PKT_US (LL_LENGTH_OCTETS_RX_MAX , 0 ));
2794+ lr -> max_tx_time =
2795+ sys_cpu_to_le16 (PKT_US (conn -> default_tx_octets , 0 ));
27942796#else /* CONFIG_BT_CTLR_PHY */
2795- lr -> max_rx_time = PKT_US (LL_LENGTH_OCTETS_RX_MAX , BIT (2 ));
2796- lr -> max_tx_time = conn -> default_tx_time ;
2797+ lr -> max_rx_time =
2798+ sys_cpu_to_le16 (PKT_US (LL_LENGTH_OCTETS_RX_MAX ,
2799+ BIT (2 )));
2800+ lr -> max_tx_time =
2801+ sys_cpu_to_le16 (conn -> default_tx_time );
27972802#endif /* CONFIG_BT_CTLR_PHY */
27982803
27992804 ctrl_tx_enqueue (conn , tx );
@@ -2844,14 +2849,16 @@ static inline void event_len_prep(struct ll_conn *conn)
28442849 pdu_ctrl_rx -> llctrl .opcode = PDU_DATA_LLCTRL_TYPE_LENGTH_RSP ;
28452850
28462851 lr = & pdu_ctrl_rx -> llctrl .length_rsp ;
2847- lr -> max_rx_octets = lll -> max_rx_octets ;
2848- lr -> max_tx_octets = lll -> max_tx_octets ;
2852+ lr -> max_rx_octets = sys_cpu_to_le16 ( lll -> max_rx_octets ) ;
2853+ lr -> max_tx_octets = sys_cpu_to_le16 ( lll -> max_tx_octets ) ;
28492854#if !defined(CONFIG_BT_CTLR_PHY )
2850- lr -> max_rx_time = PKT_US (lll -> max_rx_octets , 0 );
2851- lr -> max_tx_time = PKT_US (lll -> max_tx_octets , 0 );
2855+ lr -> max_rx_time =
2856+ sys_cpu_to_le16 (PKT_US (lll -> max_rx_octets , 0 ));
2857+ lr -> max_tx_time =
2858+ sys_cpu_to_le16 (PKT_US (lll -> max_tx_octets , 0 ));
28522859#else /* CONFIG_BT_CTLR_PHY */
2853- lr -> max_rx_time = lll -> max_rx_time ;
2854- lr -> max_tx_time = lll -> max_tx_time ;
2860+ lr -> max_rx_time = sys_cpu_to_le16 ( lll -> max_rx_time ) ;
2861+ lr -> max_tx_time = sys_cpu_to_le16 ( lll -> max_tx_time ) ;
28552862#endif /* CONFIG_BT_CTLR_PHY */
28562863
28572864 /* enqueue rx node towards Thread */
@@ -3717,14 +3724,16 @@ static inline void reject_ind_dle_recv(struct ll_conn *conn,
37173724 pdu_rx -> llctrl .opcode = PDU_DATA_LLCTRL_TYPE_LENGTH_RSP ;
37183725
37193726 lr = (void * )& pdu_rx -> llctrl .length_req ;
3720- lr -> max_rx_octets = conn -> lll .max_rx_octets ;
3721- lr -> max_tx_octets = conn -> lll .max_tx_octets ;
3727+ lr -> max_rx_octets = sys_cpu_to_le16 ( conn -> lll .max_rx_octets ) ;
3728+ lr -> max_tx_octets = sys_cpu_to_le16 ( conn -> lll .max_tx_octets ) ;
37223729#if !defined(CONFIG_BT_CTLR_PHY )
3723- lr -> max_rx_time = PKT_US (conn -> lll .max_rx_octets , 0 );
3724- lr -> max_tx_time = PKT_US (conn -> lll .max_tx_octets , 0 );
3730+ lr -> max_rx_time =
3731+ sys_cpu_to_le16 (PKT_US (conn -> lll .max_rx_octets , 0 ));
3732+ lr -> max_tx_time =
3733+ sys_cpu_to_le16 (PKT_US (conn -> lll .max_tx_octets , 0 ));
37253734#else /* CONFIG_BT_CTLR_PHY */
3726- lr -> max_rx_time = conn -> lll .max_rx_time ;
3727- lr -> max_tx_time = conn -> lll .max_tx_time ;
3735+ lr -> max_rx_time = sys_cpu_to_le16 ( conn -> lll .max_rx_time ) ;
3736+ lr -> max_tx_time = sys_cpu_to_le16 ( conn -> lll .max_tx_time ) ;
37283737#endif /* CONFIG_BT_CTLR_PHY */
37293738
37303739 return ;
@@ -3854,15 +3863,19 @@ static void length_resp_send(struct ll_conn *conn, struct node_tx *tx,
38543863 pdu_tx -> len = offsetof(struct pdu_data_llctrl , length_rsp ) +
38553864 sizeof (struct pdu_data_llctrl_length_rsp );
38563865 pdu_tx -> llctrl .opcode = PDU_DATA_LLCTRL_TYPE_LENGTH_RSP ;
3857- pdu_tx -> llctrl .length_rsp .max_rx_octets = eff_rx_octets ;
3858- pdu_tx -> llctrl .length_rsp .max_tx_octets = eff_tx_octets ;
3866+ pdu_tx -> llctrl .length_rsp .max_rx_octets =
3867+ sys_cpu_to_le16 (eff_rx_octets );
3868+ pdu_tx -> llctrl .length_rsp .max_tx_octets =
3869+ sys_cpu_to_le16 (eff_tx_octets );
38593870
38603871#if !defined(CONFIG_BT_CTLR_PHY )
3861- pdu_tx -> llctrl .length_rsp .max_rx_time = PKT_US (eff_rx_octets , 0 );
3862- pdu_tx -> llctrl .length_rsp .max_tx_time = PKT_US (eff_tx_octets , 0 );
3872+ pdu_tx -> llctrl .length_rsp .max_rx_time =
3873+ sys_cpu_to_le16 (PKT_US (eff_rx_octets , 0 ));
3874+ pdu_tx -> llctrl .length_rsp .max_tx_time =
3875+ sys_cpu_to_le16 (PKT_US (eff_tx_octets , 0 ));
38633876#else /* CONFIG_BT_CTLR_PHY */
3864- pdu_tx -> llctrl .length_rsp .max_rx_time = eff_rx_time ;
3865- pdu_tx -> llctrl .length_rsp .max_tx_time = eff_tx_time ;
3877+ pdu_tx -> llctrl .length_rsp .max_rx_time = sys_cpu_to_le16 ( eff_rx_time ) ;
3878+ pdu_tx -> llctrl .length_rsp .max_tx_time = sys_cpu_to_le16 ( eff_tx_time ) ;
38663879#endif /* CONFIG_BT_CTLR_PHY */
38673880
38683881 ctrl_tx_enqueue (conn , tx );
@@ -3920,31 +3933,38 @@ static inline int length_req_rsp_recv(struct ll_conn *conn, memq_link_t *link,
39203933 (pdu_rx -> llctrl .opcode ==
39213934 PDU_DATA_LLCTRL_TYPE_LENGTH_REQ )))))) {
39223935 struct pdu_data_llctrl_length_req * lr ;
3936+ u16_t max_rx_octets ;
3937+ u16_t max_tx_octets ;
3938+ u16_t max_rx_time ;
3939+ u16_t max_tx_time ;
39233940
39243941 lr = & pdu_rx -> llctrl .length_req ;
39253942
39263943 /* use the minimal of our default_tx_octets and
39273944 * peer max_rx_octets
39283945 */
3929- if (lr -> max_rx_octets >= PDU_DC_PAYLOAD_SIZE_MIN ) {
3930- eff_tx_octets = MIN (lr -> max_rx_octets ,
3946+ max_rx_octets = sys_le16_to_cpu (lr -> max_rx_octets );
3947+ if (max_rx_octets >= PDU_DC_PAYLOAD_SIZE_MIN ) {
3948+ eff_tx_octets = MIN (max_rx_octets ,
39313949 conn -> default_tx_octets );
39323950 }
39333951
39343952 /* use the minimal of our max supported and
39353953 * peer max_tx_octets
39363954 */
3937- if (lr -> max_tx_octets >= PDU_DC_PAYLOAD_SIZE_MIN ) {
3938- eff_rx_octets = MIN (lr -> max_tx_octets ,
3955+ max_tx_octets = sys_le16_to_cpu (lr -> max_tx_octets );
3956+ if (max_tx_octets >= PDU_DC_PAYLOAD_SIZE_MIN ) {
3957+ eff_rx_octets = MIN (max_tx_octets ,
39393958 LL_LENGTH_OCTETS_RX_MAX );
39403959 }
39413960
39423961#if defined(CONFIG_BT_CTLR_PHY )
39433962 /* use the minimal of our default_tx_time and
39443963 * peer max_rx_time
39453964 */
3946- if (lr -> max_rx_time >= PKT_US (PDU_DC_PAYLOAD_SIZE_MIN , 0 )) {
3947- eff_tx_time = MIN (lr -> max_rx_time ,
3965+ max_rx_time = sys_le16_to_cpu (lr -> max_rx_time );
3966+ if (max_rx_time >= PKT_US (PDU_DC_PAYLOAD_SIZE_MIN , 0 )) {
3967+ eff_tx_time = MIN (max_rx_time ,
39483968 conn -> default_tx_time );
39493969#if defined(CONFIG_BT_CTLR_PHY_CODED )
39503970 eff_tx_time = MAX (eff_tx_time ,
@@ -3956,16 +3976,17 @@ static inline int length_req_rsp_recv(struct ll_conn *conn, memq_link_t *link,
39563976 /* use the minimal of our max supported and
39573977 * peer max_tx_time
39583978 */
3959- if (lr -> max_tx_time >= PKT_US (PDU_DC_PAYLOAD_SIZE_MIN , 0 )) {
3979+ max_tx_time = sys_le16_to_cpu (lr -> max_tx_time );
3980+ if (max_tx_time >= PKT_US (PDU_DC_PAYLOAD_SIZE_MIN , 0 )) {
39603981#if defined(CONFIG_BT_CTLR_PHY_CODED )
3961- eff_rx_time = MIN (lr -> max_tx_time ,
3982+ eff_rx_time = MIN (max_tx_time ,
39623983 PKT_US (LL_LENGTH_OCTETS_RX_MAX ,
39633984 BIT (2 )));
39643985 eff_rx_time = MAX (eff_rx_time ,
39653986 PKT_US (PDU_DC_PAYLOAD_SIZE_MIN ,
39663987 conn -> lll .phy_rx ));
39673988#else /* !CONFIG_BT_CTLR_PHY_CODED */
3968- eff_rx_time = MIN (lr -> max_tx_time ,
3989+ eff_rx_time = MIN (max_tx_time ,
39693990 PKT_US (LL_LENGTH_OCTETS_RX_MAX , 0 ));
39703991#endif /* !CONFIG_BT_CTLR_PHY_CODED */
39713992 }
@@ -4036,15 +4057,17 @@ static inline int length_req_rsp_recv(struct ll_conn *conn, memq_link_t *link,
40364057#endif /* CONFIG_BT_CTLR_PHY */
40374058
40384059 /* prepare event params */
4039- lr -> max_rx_octets = eff_rx_octets ;
4040- lr -> max_tx_octets = eff_tx_octets ;
4060+ lr -> max_rx_octets = sys_cpu_to_le16 ( eff_rx_octets ) ;
4061+ lr -> max_tx_octets = sys_cpu_to_le16 ( eff_tx_octets ) ;
40414062
40424063#if !defined(CONFIG_BT_CTLR_PHY )
4043- lr -> max_rx_time = PKT_US (eff_rx_octets , 0 );
4044- lr -> max_tx_time = PKT_US (eff_tx_octets , 0 );
4064+ lr -> max_rx_time =
4065+ sys_cpu_to_le16 (PKT_US (eff_rx_octets , 0 ));
4066+ lr -> max_tx_time =
4067+ sys_cpu_to_le16 (PKT_US (eff_tx_octets , 0 ));
40454068#else /* CONFIG_BT_CTLR_PHY */
4046- lr -> max_rx_time = eff_rx_time ;
4047- lr -> max_tx_time = eff_tx_time ;
4069+ lr -> max_rx_time = sys_cpu_to_le16 ( eff_rx_time ) ;
4070+ lr -> max_tx_time = sys_cpu_to_le16 ( eff_tx_time ) ;
40484071#endif /* CONFIG_BT_CTLR_PHY */
40494072 }
40504073 } else {
0 commit comments