summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaad Zouiten <saad.zouiten@qorvo.com>2022-09-01 08:17:33 +0200
committerVictor Liu <victorliu@google.com>2022-09-22 00:13:31 +0000
commit5b1a1e0be7866edcff40bc37177e16d07b42fdde (patch)
tree2123e734d607234d12dbbb8d721d348c277c51ae
parentf3f108d0f96faa1e0f2e898f1f74213c46ce9346 (diff)
downloaduwb-5b1a1e0be7866edcff40bc37177e16d07b42fdde.tar.gz
Bug: 244473761 Change-Id: I143e373400bd264f1802f99e727c3a372a940c9c Signed-off-by: Clément Viel <clement.viel@qorvo.com>
-rw-r--r--mac/fira_access.c6
-rw-r--r--mac/fira_session_fsm_active.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/mac/fira_access.c b/mac/fira_access.c
index b03842e..1eab75b 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;