@@ -145,7 +145,6 @@ static void mac_data_poll_radio_disable_check(protocol_interface_rf_mac_setup_s
145
145
146
146
static void mcps_data_confirm_cb (protocol_interface_rf_mac_setup_s * rf_mac_setup , mcps_data_conf_t * confirm , mac_pre_parsed_frame_t * ack_buf )
147
147
{
148
-
149
148
mac_data_poll_radio_disable_check (rf_mac_setup );
150
149
151
150
if ( get_sw_mac_api (rf_mac_setup ) ) {
@@ -1123,8 +1122,8 @@ static int8_t mac_ack_sap_rx_handler(mac_pre_parsed_frame_t *buf, protocol_inter
1123
1122
return 0 ;
1124
1123
}
1125
1124
1126
- static void mac_pd_data_confirm_handle (protocol_interface_rf_mac_setup_s * rf_mac_setup ) {
1127
-
1125
+ static void mac_pd_data_confirm_handle (protocol_interface_rf_mac_setup_s * rf_mac_setup )
1126
+ {
1128
1127
if (rf_mac_setup -> active_pd_data_request ) {
1129
1128
mac_pre_build_frame_t * buffer = rf_mac_setup -> active_pd_data_request ;
1130
1129
if (mac_data_request_confirmation_finnish (rf_mac_setup , buffer ) ) {
@@ -1146,8 +1145,8 @@ static void mac_pd_data_confirm_handle(protocol_interface_rf_mac_setup_s *rf_mac
1146
1145
}
1147
1146
1148
1147
1149
- static void mac_pd_data_ack_handler (mac_pre_parsed_frame_t * buf ) {
1150
-
1148
+ static void mac_pd_data_ack_handler (mac_pre_parsed_frame_t * buf )
1149
+ {
1151
1150
protocol_interface_rf_mac_setup_s * rf_mac_setup = buf -> mac_class_ptr ;
1152
1151
1153
1152
if (!rf_mac_setup -> active_pd_data_request ) {
@@ -1357,7 +1356,9 @@ static void mac_common_data_confirmation_handle (protocol_interface_rf_mac_setup
1357
1356
buf -> status = MLME_TRANSACTION_EXPIRED ;
1358
1357
} else if (m_event == MAC_UNKNOWN_DESTINATION ) {
1359
1358
buf -> status = MLME_UNAVAILABLE_KEY ;
1360
- }
1359
+ }/** else if (m_event == MAC_TX_PRECOND_FAIL) {
1360
+ * Nothing to do, status already set to buf->status.
1361
+ }**/
1361
1362
}
1362
1363
}
1363
1364
@@ -1904,17 +1905,9 @@ void mcps_sap_pd_req_queue_write(protocol_interface_rf_mac_setup_s *rf_mac_setup
1904
1905
//Start TX process immediately
1905
1906
mac_data_request_init (rf_mac_setup , buffer );
1906
1907
if (mcps_pd_data_request (rf_mac_setup , buffer ) != 0 ) {
1907
- rf_mac_setup -> active_pd_data_request = NULL ;
1908
- mcps_data_conf_t confirm ;
1909
- memset (& confirm , 0 , sizeof (mcps_data_conf_t ));
1910
- confirm .msduHandle = buffer -> msduHandle ;
1911
- confirm .status = buffer -> status ;
1912
- bool requested_from_up = buffer -> upper_layer_request ;
1913
- mcps_sap_prebuild_frame_buffer_free (buffer );
1914
- if (requested_from_up ) {
1915
- mcps_data_confirm_cb (rf_mac_setup , & confirm , NULL );
1916
- }
1917
- //Call
1908
+ rf_mac_setup -> mac_tx_result = MAC_TX_PRECOND_FAIL ;
1909
+ rf_mac_setup -> macTxRequestAck = false;
1910
+ mcps_sap_pd_confirm (rf_mac_setup );
1918
1911
}
1919
1912
1920
1913
return ;
0 commit comments