laforge submitted this change.

View Change

Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified
lchan_fsm: Ignore other SAPIs of RLL_REL_IND for SAPI=0 is received

If the BTS tells us SAPI=0 is gone, there is no point in trying to keep
the lchan around for SAPI=3, as it is not possible to operate GSM with
SAPI=0 gone.

This occurred with RBS6000, which don't seem to send RLL REL IND for
SAPI3 after doing so for SAPI0. However, rather than an
ericsson-specific hack, let's make this the general rule: If SAPI=0
is gone, don't stop the lchan from being released.

Change-Id: Ia9caa5b0a5efdc459d94621367376927959a6e65
Related: OS#5530
---
M src/osmo-bsc/lchan_fsm.c
1 file changed, 7 insertions(+), 0 deletions(-)

diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c
index 00bb605..0b23f6c 100644
--- a/src/osmo-bsc/lchan_fsm.c
+++ b/src/osmo-bsc/lchan_fsm.c
@@ -1203,6 +1203,13 @@
if (lchan->conn && sapi == 0 && !(link_id & 0xc0)) {
LOG_LCHAN(lchan, LOGL_DEBUG, "lchan is releasing\n");
gscon_lchan_releasing(lchan->conn, lchan);
+
+ /* if SAPI=0 is gone, it makes no sense if other SAPIs are still around,
+ * this is not a valid configuration and we should forget about them.
+ * This is particularly relevant in case of Ericsson RBS6000, which doesn't
+ * seem to send a RLL_REL_IND for SAPI=3 if there was already one for SAPI=0 */
+ for_each_active_sapi(sapi, 1, lchan)
+ lchan->sapis[sapi] = LCHAN_SAPI_UNUSED;
}

/* The caller shall check whether all SAPIs are released and cause a state chg */

To view, visit change 27818. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ia9caa5b0a5efdc459d94621367376927959a6e65
Gerrit-Change-Number: 27818
Gerrit-PatchSet: 2
Gerrit-Owner: laforge <laforge@osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-CC: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged