diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2022-10-26 15:44:14 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2022-10-28 16:33:45 +0200 |
commit | 22b26d8a1c74439af4b51d3e3e5f6a02eb7e0587 (patch) | |
tree | 199aad5b51194f4c797f0356b82dbd8231753869 /src/gprs_ms.h | |
parent | 3a7af57d03ed52bc00761f624380fcc420f932cb (diff) |
Delay ImmAss(PCH, PktDlAss) if waiting for PKT_CTRL_ACK answering UL_ACK_NACK (FinACK=1)
In that state (ul_tbf=TBF_ST_FINISHED), we are unable to reach the MS to
assign a new DL TBF.
* MS Is not available in CCCH because it's attached the PDCH.
* MS won't be able to PKT_CTRL_ACK a PktDlAss on PACCH, because next
thing it will do is to PKT_CTRL_ACK the UL_ACK_NACK(FINACK=1) we
already polled it for, and immediatelly after that it will release the
UL TBF on its side and go back to packet idle mode.
Hence, we must wait for MS to send the PKT_CTRL_ACK to us in order to be
able to assign the DL TBF in PCH (CCCH).
Related: OS#5700
Change-Id: I7a30db9cc7dae70e04054f1a4dba004bd1780d4a
Diffstat (limited to 'src/gprs_ms.h')
-rw-r--r-- | src/gprs_ms.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gprs_ms.h b/src/gprs_ms.h index 703e84bc..b9a13860 100644 --- a/src/gprs_ms.h +++ b/src/gprs_ms.h @@ -144,6 +144,7 @@ int ms_nacc_start(struct GprsMs *ms, Packet_Cell_Change_Notification_t *notif); bool ms_nacc_rts(const struct GprsMs *ms); struct msgb *ms_nacc_create_rlcmac_msg(struct GprsMs *ms, struct gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t ts); +int ms_new_dl_tbf_assignment(struct GprsMs *ms); int ms_append_llc_dl_data(struct GprsMs *ms, uint16_t pdu_delay_csec, const uint8_t *data, uint16_t len); static inline bool ms_is_idle(const struct GprsMs *ms) |