@@ -5486,66 +5486,6 @@ static inline void ctrl_tx_ack(struct ll_conn *conn, struct node_tx **tx,
54865486	}
54875487}
54885488
5489- static  inline  bool  pdu_len_cmp (uint8_t  opcode , uint8_t  len )
5490- {
5491- 	const  uint8_t  ctrl_len_lut [] =  {
5492- 		(offsetof(struct  pdu_data_llctrl , conn_update_ind ) + 
5493- 		 sizeof (struct  pdu_data_llctrl_conn_update_ind )),
5494- 		(offsetof(struct  pdu_data_llctrl , chan_map_ind ) + 
5495- 		 sizeof (struct  pdu_data_llctrl_chan_map_ind )),
5496- 		(offsetof(struct  pdu_data_llctrl , terminate_ind ) + 
5497- 		 sizeof (struct  pdu_data_llctrl_terminate_ind )),
5498- 		(offsetof(struct  pdu_data_llctrl , enc_req ) + 
5499- 		 sizeof (struct  pdu_data_llctrl_enc_req )),
5500- 		(offsetof(struct  pdu_data_llctrl , enc_rsp ) + 
5501- 		 sizeof (struct  pdu_data_llctrl_enc_rsp )),
5502- 		(offsetof(struct  pdu_data_llctrl , start_enc_req ) + 
5503- 		 sizeof (struct  pdu_data_llctrl_start_enc_req )),
5504- 		(offsetof(struct  pdu_data_llctrl , start_enc_rsp ) + 
5505- 		 sizeof (struct  pdu_data_llctrl_start_enc_rsp )),
5506- 		(offsetof(struct  pdu_data_llctrl , unknown_rsp ) + 
5507- 		 sizeof (struct  pdu_data_llctrl_unknown_rsp )),
5508- 		(offsetof(struct  pdu_data_llctrl , feature_req ) + 
5509- 		 sizeof (struct  pdu_data_llctrl_feature_req )),
5510- 		(offsetof(struct  pdu_data_llctrl , feature_rsp ) + 
5511- 		 sizeof (struct  pdu_data_llctrl_feature_rsp )),
5512- 		(offsetof(struct  pdu_data_llctrl , pause_enc_req ) + 
5513- 		 sizeof (struct  pdu_data_llctrl_pause_enc_req )),
5514- 		(offsetof(struct  pdu_data_llctrl , pause_enc_rsp ) + 
5515- 		 sizeof (struct  pdu_data_llctrl_pause_enc_rsp )),
5516- 		(offsetof(struct  pdu_data_llctrl , version_ind ) + 
5517- 		 sizeof (struct  pdu_data_llctrl_version_ind )),
5518- 		(offsetof(struct  pdu_data_llctrl , reject_ind ) + 
5519- 		 sizeof (struct  pdu_data_llctrl_reject_ind )),
5520- 		(offsetof(struct  pdu_data_llctrl , slave_feature_req ) + 
5521- 		 sizeof (struct  pdu_data_llctrl_slave_feature_req )),
5522- 		(offsetof(struct  pdu_data_llctrl , conn_param_req ) + 
5523- 		 sizeof (struct  pdu_data_llctrl_conn_param_req )),
5524- 		(offsetof(struct  pdu_data_llctrl , conn_param_rsp ) + 
5525- 		 sizeof (struct  pdu_data_llctrl_conn_param_rsp )),
5526- 		(offsetof(struct  pdu_data_llctrl , reject_ext_ind ) + 
5527- 		 sizeof (struct  pdu_data_llctrl_reject_ext_ind )),
5528- 		(offsetof(struct  pdu_data_llctrl , ping_req ) + 
5529- 		 sizeof (struct  pdu_data_llctrl_ping_req )),
5530- 		(offsetof(struct  pdu_data_llctrl , ping_rsp ) + 
5531- 		 sizeof (struct  pdu_data_llctrl_ping_rsp )),
5532- 		(offsetof(struct  pdu_data_llctrl , length_req ) + 
5533- 		 sizeof (struct  pdu_data_llctrl_length_req )),
5534- 		(offsetof(struct  pdu_data_llctrl , length_rsp ) + 
5535- 		 sizeof (struct  pdu_data_llctrl_length_rsp )),
5536- 		(offsetof(struct  pdu_data_llctrl , phy_req ) + 
5537- 		 sizeof (struct  pdu_data_llctrl_phy_req )),
5538- 		(offsetof(struct  pdu_data_llctrl , phy_rsp ) + 
5539- 		 sizeof (struct  pdu_data_llctrl_phy_rsp )),
5540- 		(offsetof(struct  pdu_data_llctrl , phy_upd_ind ) + 
5541- 		 sizeof (struct  pdu_data_llctrl_phy_upd_ind )),
5542- 		(offsetof(struct  pdu_data_llctrl , min_used_chans_ind ) + 
5543- 		 sizeof (struct  pdu_data_llctrl_min_used_chans_ind )),
5544- 	};
5545- 
5546- 	return  ctrl_len_lut [opcode ] ==  len ;
5547- }
5548- 
55495489static  inline  int  ctrl_rx (memq_link_t  * link , struct  node_rx_pdu  * * rx ,
55505490			  struct  pdu_data  * pdu_rx , struct  ll_conn  * conn )
55515491{
@@ -5574,8 +5514,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
55745514		uint8_t  err ;
55755515
55765516		if  (!conn -> lll .role  || 
5577- 		    !pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_CONN_UPDATE_IND ,
5578- 				 pdu_rx -> len )) {
5517+ 		    PDU_DATA_LLCTRL_LEN (conn_update_ind ) !=  pdu_rx -> len ) {
55795518			goto ull_conn_rx_unknown_rsp_send ;
55805519		}
55815520
@@ -5596,8 +5535,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
55965535		uint8_t  err ;
55975536
55985537		if  (!conn -> lll .role  || 
5599- 		    !pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_CHAN_MAP_IND ,
5600- 				 pdu_rx -> len )) {
5538+ 		    PDU_DATA_LLCTRL_LEN (chan_map_ind ) !=  pdu_rx -> len ) {
56015539			goto ull_conn_rx_unknown_rsp_send ;
56025540		}
56035541
@@ -5610,8 +5548,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
56105548#endif  /* CONFIG_BT_PERIPHERAL */ 
56115549
56125550	case  PDU_DATA_LLCTRL_TYPE_TERMINATE_IND :
5613- 		if  (!pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_TERMINATE_IND ,
5614- 				 pdu_rx -> len )) {
5551+ 		if  (PDU_DATA_LLCTRL_LEN (terminate_ind ) !=  pdu_rx -> len ) {
56155552			goto ull_conn_rx_unknown_rsp_send ;
56165553		}
56175554
@@ -5622,7 +5559,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
56225559#if  defined(CONFIG_BT_PERIPHERAL )
56235560	case  PDU_DATA_LLCTRL_TYPE_ENC_REQ :
56245561		if  (!conn -> lll .role  || 
5625- 		    ! pdu_len_cmp ( PDU_DATA_LLCTRL_TYPE_ENC_REQ ,  pdu_rx -> len ) ) {
5562+ 		    PDU_DATA_LLCTRL_LEN ( enc_req )  !=   pdu_rx -> len ) {
56265563			goto ull_conn_rx_unknown_rsp_send ;
56275564		}
56285565
@@ -5693,7 +5630,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
56935630#if  defined(CONFIG_BT_CENTRAL )
56945631	case  PDU_DATA_LLCTRL_TYPE_ENC_RSP :
56955632		if  (conn -> lll .role  || 
5696- 		    ! pdu_len_cmp ( PDU_DATA_LLCTRL_TYPE_ENC_RSP ,  pdu_rx -> len ) ) {
5633+ 		    PDU_DATA_LLCTRL_LEN ( enc_rsp )  !=   pdu_rx -> len ) {
56975634			goto ull_conn_rx_unknown_rsp_send ;
56985635		}
56995636
@@ -5714,8 +5651,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
57145651	case  PDU_DATA_LLCTRL_TYPE_START_ENC_REQ :
57155652		if  (conn -> lll .role  ||  (conn -> llcp_req  ==  conn -> llcp_ack ) || 
57165653		    (conn -> llcp_type  !=  LLCP_ENCRYPTION ) || 
5717- 		    !pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_START_ENC_REQ ,
5718- 				 pdu_rx -> len )) {
5654+ 		    PDU_DATA_LLCTRL_LEN (start_enc_req ) !=  pdu_rx -> len ) {
57195655			goto ull_conn_rx_unknown_rsp_send ;
57205656		}
57215657
@@ -5729,8 +5665,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
57295665#endif  /* CONFIG_BT_CENTRAL */ 
57305666
57315667	case  PDU_DATA_LLCTRL_TYPE_START_ENC_RSP :
5732- 		if  (!pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_START_ENC_RSP ,
5733- 				 pdu_rx -> len )) {
5668+ 		if  (PDU_DATA_LLCTRL_LEN (start_enc_rsp ) !=  pdu_rx -> len ) {
57345669			goto ull_conn_rx_unknown_rsp_send ;
57355670		}
57365671
@@ -5782,8 +5717,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
57825717#if  defined(CONFIG_BT_PERIPHERAL )
57835718	case  PDU_DATA_LLCTRL_TYPE_FEATURE_REQ :
57845719		if  (!conn -> lll .role  || 
5785- 		    !pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_FEATURE_REQ ,
5786- 				 pdu_rx -> len )) {
5720+ 		    PDU_DATA_LLCTRL_LEN (feature_req ) !=  pdu_rx -> len ) {
57875721			goto ull_conn_rx_unknown_rsp_send ;
57885722		}
57895723
@@ -5794,8 +5728,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
57945728#if  defined(CONFIG_BT_CENTRAL ) &&  defined(CONFIG_BT_CTLR_SLAVE_FEAT_REQ )
57955729	case  PDU_DATA_LLCTRL_TYPE_SLAVE_FEATURE_REQ :
57965730		if  (conn -> lll .role  || 
5797- 		    !pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_SLAVE_FEATURE_REQ ,
5798- 				 pdu_rx -> len )) {
5731+ 		    PDU_DATA_LLCTRL_LEN (slave_feature_req ) !=  pdu_rx -> len ) {
57995732			goto ull_conn_rx_unknown_rsp_send ;
58005733		}
58015734
@@ -5807,8 +5740,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
58075740	case  PDU_DATA_LLCTRL_TYPE_FEATURE_RSP :
58085741		if  ((!IS_ENABLED (CONFIG_BT_CTLR_SLAVE_FEAT_REQ ) && 
58095742		     conn -> lll .role ) || 
5810- 		    !pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_FEATURE_RSP ,
5811- 				 pdu_rx -> len )) {
5743+ 		    PDU_DATA_LLCTRL_LEN (feature_rsp ) !=  pdu_rx -> len ) {
58125744			goto ull_conn_rx_unknown_rsp_send ;
58135745		}
58145746
@@ -5820,8 +5752,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
58205752#if  defined(CONFIG_BT_PERIPHERAL )
58215753	case  PDU_DATA_LLCTRL_TYPE_PAUSE_ENC_REQ :
58225754		if  (!conn -> lll .role  || 
5823- 		    !pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_PAUSE_ENC_REQ ,
5824- 				 pdu_rx -> len )) {
5755+ 		    PDU_DATA_LLCTRL_LEN (pause_enc_req ) !=  pdu_rx -> len ) {
58255756			goto ull_conn_rx_unknown_rsp_send ;
58265757		}
58275758
@@ -5830,8 +5761,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
58305761#endif  /* CONFIG_BT_PERIPHERAL */ 
58315762
58325763	case  PDU_DATA_LLCTRL_TYPE_PAUSE_ENC_RSP :
5833- 		if  (!pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_PAUSE_ENC_RSP ,
5834- 				 pdu_rx -> len )) {
5764+ 		if  (PDU_DATA_LLCTRL_LEN (pause_enc_rsp ) !=  pdu_rx -> len ) {
58355765			goto ull_conn_rx_unknown_rsp_send ;
58365766		}
58375767
@@ -5840,8 +5770,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
58405770#endif  /* CONFIG_BT_CTLR_LE_ENC */ 
58415771
58425772	case  PDU_DATA_LLCTRL_TYPE_VERSION_IND :
5843- 		if  (!pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_VERSION_IND ,
5844- 				 pdu_rx -> len )) {
5773+ 		if  (PDU_DATA_LLCTRL_LEN (version_ind ) !=  pdu_rx -> len ) {
58455774			goto ull_conn_rx_unknown_rsp_send ;
58465775		}
58475776
@@ -5850,7 +5779,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
58505779
58515780#if  defined(CONFIG_BT_CTLR_LE_ENC )
58525781	case  PDU_DATA_LLCTRL_TYPE_REJECT_IND :
5853- 		if  (! pdu_len_cmp ( PDU_DATA_LLCTRL_TYPE_REJECT_IND ,  pdu_rx -> len ) ) {
5782+ 		if  (PDU_DATA_LLCTRL_LEN ( reject_ind )  !=   pdu_rx -> len ) {
58545783			goto ull_conn_rx_unknown_rsp_send ;
58555784		}
58565785
@@ -5860,8 +5789,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
58605789
58615790#if  defined(CONFIG_BT_CTLR_CONN_PARAM_REQ )
58625791	case  PDU_DATA_LLCTRL_TYPE_CONN_PARAM_REQ :
5863- 		if  (!pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_CONN_PARAM_REQ ,
5864- 				 pdu_rx -> len )) {
5792+ 		if  (PDU_DATA_LLCTRL_LEN (conn_param_req ) !=  pdu_rx -> len ) {
58655793			goto ull_conn_rx_unknown_rsp_send ;
58665794		}
58675795
@@ -6114,8 +6042,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
61146042#if  defined(CONFIG_BT_CENTRAL )
61156043	case  PDU_DATA_LLCTRL_TYPE_CONN_PARAM_RSP :
61166044		if  (conn -> lll .role  || 
6117- 		    !pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_CONN_PARAM_RSP ,
6118- 				 pdu_rx -> len )) {
6045+ 		    PDU_DATA_LLCTRL_LEN (conn_param_rsp ) !=  pdu_rx -> len ) {
61196046			goto ull_conn_rx_unknown_rsp_send ;
61206047		}
61216048
@@ -6188,8 +6115,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
61886115#endif  /* CONFIG_BT_CTLR_CONN_PARAM_REQ */ 
61896116
61906117	case  PDU_DATA_LLCTRL_TYPE_REJECT_EXT_IND :
6191- 		if  (!pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_REJECT_EXT_IND ,
6192- 				 pdu_rx -> len )) {
6118+ 		if  (PDU_DATA_LLCTRL_LEN (reject_ext_ind ) !=  pdu_rx -> len ) {
61936119			goto ull_conn_rx_unknown_rsp_send ;
61946120		}
61956121
@@ -6198,15 +6124,15 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
61986124
61996125#if  defined(CONFIG_BT_CTLR_LE_PING )
62006126	case  PDU_DATA_LLCTRL_TYPE_PING_REQ :
6201- 		if  (! pdu_len_cmp ( PDU_DATA_LLCTRL_TYPE_PING_REQ ,  pdu_rx -> len ) ) {
6127+ 		if  (PDU_DATA_LLCTRL_LEN ( ping_req )  !=   pdu_rx -> len ) {
62026128			goto ull_conn_rx_unknown_rsp_send ;
62036129		}
62046130
62056131		nack  =  ping_resp_send (conn , * rx );
62066132		break ;
62076133
62086134	case  PDU_DATA_LLCTRL_TYPE_PING_RSP :
6209- 		if  (! pdu_len_cmp ( PDU_DATA_LLCTRL_TYPE_PING_RSP ,  pdu_rx -> len ) ) {
6135+ 		if  (PDU_DATA_LLCTRL_LEN ( ping_rsp )  !=   pdu_rx -> len ) {
62106136			goto ull_conn_rx_unknown_rsp_send ;
62116137		}
62126138
@@ -6220,8 +6146,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
62206146#endif  /* CONFIG_BT_CTLR_LE_PING */ 
62216147
62226148	case  PDU_DATA_LLCTRL_TYPE_UNKNOWN_RSP :
6223- 		if  (!pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_UNKNOWN_RSP ,
6224- 				 pdu_rx -> len )) {
6149+ 		if  (PDU_DATA_LLCTRL_LEN (unknown_rsp ) !=  pdu_rx -> len ) {
62256150			goto ull_conn_rx_unknown_rsp_send ;
62266151		}
62276152
@@ -6370,8 +6295,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
63706295#if  defined(CONFIG_BT_CTLR_DATA_LENGTH )
63716296	case  PDU_DATA_LLCTRL_TYPE_LENGTH_RSP :
63726297	case  PDU_DATA_LLCTRL_TYPE_LENGTH_REQ :
6373- 		if  (!pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_LENGTH_REQ ,
6374- 				 pdu_rx -> len )) {
6298+ 		if  (PDU_DATA_LLCTRL_LEN (length_req ) !=  pdu_rx -> len ) {
63756299			goto ull_conn_rx_unknown_rsp_send ;
63766300		}
63776301
@@ -6381,7 +6305,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
63816305
63826306#if  defined(CONFIG_BT_CTLR_PHY )
63836307	case  PDU_DATA_LLCTRL_TYPE_PHY_REQ :
6384- 		if  (! pdu_len_cmp ( PDU_DATA_LLCTRL_TYPE_PHY_REQ ,  pdu_rx -> len ) ) {
6308+ 		if  (PDU_DATA_LLCTRL_LEN ( phy_req )  !=   pdu_rx -> len ) {
63856309			goto ull_conn_rx_unknown_rsp_send ;
63866310		}
63876311
@@ -6469,7 +6393,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
64696393#if  defined(CONFIG_BT_CENTRAL )
64706394	case  PDU_DATA_LLCTRL_TYPE_PHY_RSP :
64716395		if  (conn -> lll .role  || 
6472- 		    ! pdu_len_cmp ( PDU_DATA_LLCTRL_TYPE_PHY_RSP ,  pdu_rx -> len ) ) {
6396+ 		    PDU_DATA_LLCTRL_LEN ( phy_rsp )  !=   pdu_rx -> len ) {
64736397			goto ull_conn_rx_unknown_rsp_send ;
64746398		}
64756399
@@ -6508,8 +6432,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
65086432		uint8_t  err ;
65096433
65106434		if  (!conn -> lll .role  || 
6511- 		    !pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_PHY_UPD_IND ,
6512- 				 pdu_rx -> len )) {
6435+ 		    PDU_DATA_LLCTRL_LEN (phy_upd_ind ) !=  pdu_rx -> len ) {
65136436			goto ull_conn_rx_unknown_rsp_send ;
65146437		}
65156438
@@ -6526,8 +6449,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
65266449#if  defined(CONFIG_BT_CENTRAL )
65276450	case  PDU_DATA_LLCTRL_TYPE_MIN_USED_CHAN_IND :
65286451		if  (conn -> lll .role  || 
6529- 		    !pdu_len_cmp (PDU_DATA_LLCTRL_TYPE_MIN_USED_CHAN_IND ,
6530- 				 pdu_rx -> len )) {
6452+ 		    PDU_DATA_LLCTRL_LEN (min_used_chans_ind ) !=  pdu_rx -> len ) {
65316453			goto ull_conn_rx_unknown_rsp_send ;
65326454		}
65336455
0 commit comments