diff options
author | Saad Zouiten <saad.zouiten@qorvo.com> | 2022-09-01 08:17:33 +0200 |
---|---|---|
committer | Clément Viel <clement.viel@qorvo.com> | 2022-09-21 17:43:15 +0200 |
commit | 282b4eb532a0e2436402e2c4f33acf4a4e4902f6 (patch) | |
tree | 2e1c4b87f137967b55f74798e769abed63305885 | |
parent | 20e12bf0c813fbfb3c1d26521a4f26e4a98ec7f6 (diff) | |
download | uwb-282b4eb532a0e2436402e2c4f33acf4a4e4902f6.tar.gz |
mac: fix margin_less calculation
Bug: 244473761
Change-Id: I143e373400bd264f1802f99e727c3a372a940c9c
Signed-off-by: Clément Viel <clement.viel@qorvo.com>
-rw-r--r-- | mac/fira_access.c | 6 | ||||
-rw-r--r-- | mac/fira_session_fsm_active.c | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/mac/fira_access.c b/mac/fira_access.c index dc9c99f..7275f94 100644 --- a/mac/fira_access.c +++ b/mac/fira_access.c @@ -576,7 +576,11 @@ static void fira_rx_frame_control(struct fira_local *local, left_duration_dtu = access->duration_dtu - offset_in_access_duration_dtu; - if (left_duration_dtu < n_slots * params->slot_duration_dtu || + /* + * The RCM has been received, remaining slots are: n_slots - 1. + * Stop if no time left to finish the ranging or if asked to. + */ + if (left_duration_dtu < (n_slots - 1) * params->slot_duration_dtu || session->stop_inband) { n_slots = 1; } else { diff --git a/mac/fira_session_fsm_active.c b/mac/fira_session_fsm_active.c index feff6c9..90ddc94 100644 --- a/mac/fira_session_fsm_active.c +++ b/mac/fira_session_fsm_active.c @@ -619,7 +619,7 @@ fira_session_fsm_active_get_demand(const struct fira_local *local, * the past of next_timestamp_dtu. */ margin_less = - next_timestamp_dtu - timestamp_dtu; + timestamp_dtu - next_timestamp_dtu; timestamp_dtu -= margin_less; rx_timeout_dtu = margin_less + margin_more; duration_dtu = round_duration_dtu + margin_less; |