From d67542588cf3a6d0118d75300868a0fbd5f934ce Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Wed, 5 Jul 2023 14:15:56 +0200 Subject: gprs_ms: Update assert condition A recent commit adding TBF_ST_WAIT_REUSE_TFI state updated ms_append_llc_dl_data() to attempt creating a new DL TBF while in that state, but forgot to update the assert checking for the conditions in ms_is_reachable_for_dl_ass(). Related: OS#6084 Fixes: 40a297f3b0c8e1670d46a4974750dd3335bc7885 Change-Id: I3d51e909c9a9f688b7f4425a5ba319d183c71d1f --- src/gprs_ms.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gprs_ms.c b/src/gprs_ms.c index 5890d313..7fa3fc09 100644 --- a/src/gprs_ms.c +++ b/src/gprs_ms.c @@ -1093,10 +1093,13 @@ static void ms_start_llc_timer(struct GprsMs *ms) /* Can we get to send a DL TBF ass to the MS? */ static bool ms_is_reachable_for_dl_ass(const struct GprsMs *ms) { + const struct gprs_rlcmac_dl_tbf *dl_tbf = ms_dl_tbf(ms); const struct gprs_rlcmac_ul_tbf *ul_tbf = ms_ul_tbf(ms); - /* This function assumes it is called when no DL TBF is present */ - OSMO_ASSERT(!ms_dl_tbf(ms)); + /* This function assumes it is called when no DL TBF is present, or + * alternatively if it's not really in use by the MS (TBF_ST_WAIT_REUSE_TFI) */ + OSMO_ASSERT(!dl_tbf || + tbf_state(dl_tbf_as_tbf_const(dl_tbf)) == TBF_ST_WAIT_REUSE_TFI); /* 3GPP TS 44.060 sec 7.1.3.1 Initiation of the Packet resource request procedure: * "Furthermore, the mobile station shall not respond to PACKET DOWNLINK ASSIGNMENT -- cgit v1.2.3