pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-pcu/+/33455 )


Change subject: tbf_dl_fsm: Ignore DL_ACKNACK_MISS events in 
WAIT_{RELEASE,REUSE_TFI} states
......................................................................

tbf_dl_fsm: Ignore DL_ACKNACK_MISS events in WAIT_{RELEASE,REUSE_TFI} states

If in those states, we already left the FINISHED step which means we
already received a FinalACk previously, hence it means we are missing
requested retransmissions of the last DL ACK/NACK due to fn-advance
(several DL blocks in transit before receiving UL response).

Change-Id: Ib0f23a9cc3c614fe428b682e01502930cd2e478f
---
M src/tbf_dl_fsm.c
1 file changed, 25 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/55/33455/1

diff --git a/src/tbf_dl_fsm.c b/src/tbf_dl_fsm.c
index 557fb7a..3a963ce 100644
--- a/src/tbf_dl_fsm.c
+++ b/src/tbf_dl_fsm.c
@@ -286,6 +286,11 @@
        case TBF_EV_FINAL_ACK_RECVD:
                /* ignore, duplicate ACK, we already know about since we left 
ST_FINISHED */
                break;
+       case TBF_EV_DL_ACKNACK_MISS:
+               /* ignore, miss for retransmitted ACK, but a previous one was
+                * already ACKED since we left ST_FINISHED. This happens due to
+                * fn-advance scheduling several DL blocks in advance. */
+               break;
        default:
                OSMO_ASSERT(0);
        }
@@ -320,6 +325,10 @@
        case TBF_EV_FINAL_ACK_RECVD:
                /* ignore, duplicate ACK, we already know about since we left 
ST_FINISHED */
                break;
+       case TBF_EV_DL_ACKNACK_MISS:
+               /* ignore, miss for retransmitted ACK, but a previous one was
+                * already ACKED since we left ST_FINISHED. This happens due to
+                * fn-advance scheduling several DL blocks in advance. */
        default:
                OSMO_ASSERT(0);
        }
@@ -450,6 +459,7 @@
        },
        [TBF_ST_WAIT_RELEASE] = {
                .in_event_mask =
+                       X(TBF_EV_DL_ACKNACK_MISS) |
                        X(TBF_EV_FINAL_ACK_RECVD) |
                        X(TBF_EV_MAX_N3105),
                .out_state_mask =
@@ -461,6 +471,7 @@
        },
        [TBF_ST_WAIT_REUSE_TFI] = {
                .in_event_mask =
+                       X(TBF_EV_DL_ACKNACK_MISS) |
                        X(TBF_EV_FINAL_ACK_RECVD),
                .out_state_mask =
                        X(TBF_ST_RELEASING),

--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/33455
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: Ib0f23a9cc3c614fe428b682e01502930cd2e478f
Gerrit-Change-Number: 33455
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>
Gerrit-MessageType: newchange

Reply via email to