File tree Expand file tree Collapse file tree 1 file changed +7
-4
lines changed Expand file tree Collapse file tree 1 file changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -1520,13 +1520,16 @@ static int8_t mcps_generic_packet_build(protocol_interface_rf_mac_setup_s *rf_pt
1520
1520
1521
1521
if (buffer -> fcf_dsn .securityEnabled ) {
1522
1522
//Remember to update security counter here!
1523
- buffer -> aux_header .frameCounter = mac_mlme_framecounter_get (rf_ptr );
1523
+ uint32_t new_frameCounter = mac_mlme_framecounter_get (rf_ptr );
1524
+ // If buffer frame counter is set, this is FHSS channel retry, update frame counter only if something was sent after failure
1525
+ if (!buffer -> aux_header .frameCounter || ((new_frameCounter - buffer -> aux_header .frameCounter ) > 1 )) {
1526
+ buffer -> aux_header .frameCounter = new_frameCounter ;
1527
+ //Increment security counter
1528
+ mac_mlme_framecounter_increment (rf_ptr );
1529
+ }
1524
1530
if (!mac_frame_security_parameters_init (& ccm_ptr , rf_ptr , buffer )) {
1525
1531
return -2 ;
1526
1532
}
1527
- //Increment security counter
1528
- mac_mlme_framecounter_increment (rf_ptr );
1529
-
1530
1533
}
1531
1534
1532
1535
//Calculate Payload length here with IE extension
You can’t perform that action at this time.
0 commit comments