pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/33575 )
Change subject: gprs_ms: Update assert condition ......................................................................
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 --- M src/gprs_ms.c 1 file changed, 21 insertions(+), 2 deletions(-)
Approvals: fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified laforge: Looks good to me, approved
diff --git a/src/gprs_ms.c b/src/gprs_ms.c index 5890d31..7fa3fc0 100644 --- a/src/gprs_ms.c +++ b/src/gprs_ms.c @@ -1093,10 +1093,13 @@ /* 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