jolly has uploaded this change for review.

View Change

ASCI: Ignore LAPD frames from MS, while the uplink is not active

Do not forward any message from the MS to LAPD while the uplink is not
active. If the MS did not recognize (fast enough) that the uplink is
free, it may continue to transmit LAPD frames. A reaction of LAPD is to
these frames is not desired and not required. If we react on them, we
will transmit LAPD response frames to the MS and this stops us from
sending UPLINK FREE messages.

Note: UPLINK FREE messages are repeated automatically until a different
message is transmitted.

Related: OS#5781
Change-Id: I5075115123055b2997481f56ddf473430a1dc9e3
---
M src/common/l1sap.c
1 file changed, 30 insertions(+), 0 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/23/34423/1
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 13d271e..1456761 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -1822,6 +1822,16 @@
if (check_for_first_ciphrd(lchan, data, len))
l1sap_tx_ciph_req(lchan->ts->trx, chan_nr, 1, 0);

+ /* Do not forward any message from the MS to LAPD while the uplink is not
+ * active. If the MS did not recognize (fast enough) that the uplink is
+ * free, it may continue to transmit LAPD frames. A reaction of LAPD is to
+ * these frames is not desired and not required. If we react on them, we
+ * will transmit LAPD response frames to the MS and this stops us from
+ * sending UPLINK FREE messages.
+ */
+ if (rsl_chan_rt_is_asci(lchan->rsl_chan_rt) && lchan->asci.talker_active != VGCS_TALKER_ACTIVE)
+ return 0;
+
/* SDCCH, SACCH and FACCH all go to LAPDm */
msgb_pull_to_l2(msg);
lapdm_phsap_up(&l1sap->oph, le);

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

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I5075115123055b2997481f56ddf473430a1dc9e3
Gerrit-Change-Number: 34423
Gerrit-PatchSet: 1
Gerrit-Owner: jolly <andreas@eversberg.eu>
Gerrit-MessageType: newchange