Change in osmo-bts[master]: l1sap: fix handling of lchan->pending_rel_ind_msg

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

fixeria gerrit-no-reply at lists.osmocom.org
Mon Oct 25 17:59:31 UTC 2021


fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25948 )


Change subject: l1sap: fix handling of lchan->pending_rel_ind_msg
......................................................................

l1sap: fix handling of lchan->pending_rel_ind_msg

After merging the patch [1] fixing handling of the RLL RELease
INDication message in lapdm_rll_tx_cb(), ttcn3-bts-test shows
several regressions:

  pass->fail: BTS_Tests.TC_rll_rel_ind_DCCH_0
  pass->fail: BTS_Tests.TC_rll_rel_ind_DCCH_3
  pass->fail: BTS_Tests.TC_rll_rel_ind_ACCH_0
  pass->fail: BTS_Tests.TC_rll_rel_ind_ACCH_3
  pass->fail: BTS_Tests_LAPDm.TC_sabm_dm

[1] I823c9101bcca72d5792e16379b02d3602ffc2726
    991020c049c63768e147d49bd2918c2d2e0f6dcb

The problem is actually *not* in patch [1], but in the older one
[2] which we attempted to fix.  While a logical channel is in
signalling mode, the lower layers do not produce PRIM_TCH_RTS,
and thus the l1sap_tch_rts_ind() is not being called.

Unlike l1sap_tch_rts_ind(), the l1sap_ph_rts_ind() is being called
regardless of the channel mode (signalling vs speech), so let's
move handling of lchan->pending_rel_ind_msg there.

Change-Id: I2c380f9045624f0a0a8f988bb207bc73d8354857
Fixes: [2] Ie4f70c75f0137b4bd72d579b3a32575bac2fca3
---
M src/common/l1sap.c
1 file changed, 7 insertions(+), 10 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/48/25948/1

diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index c89b2c3..ae91677 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -1139,6 +1139,13 @@
 			       rsl_chan_nr_str(chan_nr));
 			return 0;
 		}
+		if (lchan->pending_rel_ind_msg) {
+			LOGPGT(DRSL, LOGL_INFO, &g_time,
+			       "%s Forward RLL RELease INDication to the BSC\n",
+			       gsm_lchan_name(lchan));
+			abis_bts_rsl_sendmsg(lchan->pending_rel_ind_msg);
+			lchan->pending_rel_ind_msg = NULL;
+		}
 		if (L1SAP_IS_LINK_SACCH(link_id)) {
 			p = msgb_put(msg, GSM_MACBLOCK_LEN);
 			/* L1-header, if not set/modified by layer 1 */
@@ -1318,16 +1325,6 @@
 		resp_l1sap = msgb_l1sap_prim(resp_msg);
 	}
 
-	/* check for pending REL_IND */
-	if (lchan->pending_rel_ind_msg) {
-		LOGPGT(DRSL, LOGL_INFO, &g_time, "%s Forward REL_IND to L3\n", gsm_lchan_name(lchan));
-		/* Forward it to L3 */
-		rc = abis_bts_rsl_sendmsg(lchan->pending_rel_ind_msg);
-		lchan->pending_rel_ind_msg = NULL;
-		if (rc < 0)
-			return rc;
-	}
-
 	memset(resp_l1sap, 0, sizeof(*resp_l1sap));
 	osmo_prim_init(&resp_l1sap->oph, SAP_GSM_PH, PRIM_TCH, PRIM_OP_REQUEST,
 		resp_msg);

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

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I2c380f9045624f0a0a8f988bb207bc73d8354857
Gerrit-Change-Number: 25948
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20211025/6a2dfa8f/attachment.htm>


More information about the gerrit-log mailing list