diff options
author | Saad Zouiten <saad.zouiten@qorvo.com> | 2022-09-01 08:17:33 +0200 |
---|---|---|
committer | Victor Liu <victorliu@google.com> | 2022-09-22 00:13:31 +0000 |
commit | 5b1a1e0be7866edcff40bc37177e16d07b42fdde (patch) | |
tree | 2123e734d607234d12dbbb8d721d348c277c51ae | |
parent | f3f108d0f96faa1e0f2e898f1f74213c46ce9346 (diff) | |
download | uwb-5b1a1e0be7866edcff40bc37177e16d07b42fdde.tar.gz |
mac: fix margin_less calculationandroid-t-qpr1-beta-3_r0.4android-t-qpr1-beta-3_r0.3android-13.0.0_r0.59android-13.0.0_r0.58android-13.0.0_r0.54android-13.0.0_r0.53android-13.0.0_r0.49android-13.0.0_r0.48main-16k-gs-raviole-5.10android-gs-raviole-5.10-android13-qpr1-beta-3android-gs-raviole-5.10-android13-qpr1android-gs-bluejay-5.10-android13-qpr1-beta-3android-gs-bluejay-5.10-android13-qpr1
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 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; |