Change in osmo-bts[master]: struct gsm_lchan: move tch.rep_facch to rep_acch.dl_facch

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
Thu Oct 21 23:54:07 UTC 2021


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


Change subject: struct gsm_lchan: move tch.rep_facch to rep_acch.dl_facch
......................................................................

struct gsm_lchan: move tch.rep_facch to rep_acch.dl_facch

Finally we have all ACCH repetition state variables in one place.

Change-Id: I1469619528bb69c78c2fdc25bc1db208ead936d0
Related: SYS#5114
---
M include/osmo-bts/lchan.h
M src/common/l1sap.c
M src/common/lchan.c
3 files changed, 18 insertions(+), 20 deletions(-)



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

diff --git a/include/osmo-bts/lchan.h b/include/osmo-bts/lchan.h
index 3eb4f93..a7e9004 100644
--- a/include/osmo-bts/lchan.h
+++ b/include/osmo-bts/lchan.h
@@ -254,9 +254,6 @@
 		uint8_t last_cmr;
 		uint32_t last_fn;
 
-		/* SLOT #0 and #1 to store FACCH for repetition */
-		struct gsm_rep_facch rep_facch[2];
-
 	} tch;
 
 	/* 3GPP TS 48.058 § 9.3.37: [0; 255] ok, -1 means invalid*/
@@ -311,7 +308,8 @@
 		bool ul_sacch_active;
 		bool dl_sacch_active;
 
-		/* Message buffer to store DL-SACCH repeation candidate */
+		/* Message buffers to store repeation candidates */
+		struct gsm_rep_facch dl_facch[2];
 		struct msgb *dl_sacch_msg;
 	} rep_acch;
 
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index d94e3bc..c89b2c3 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -987,14 +987,14 @@
 
 	/* Note: The repeated version of the FACCH block must be scheduled 8 or 9 bursts after the original
 	 * transmission. see 3GPP TS 44.006, section 10.2 for a more detailed explaination. */
-	if (lchan->tch.rep_facch[0].msg && GSM_TDMA_FN_SUB(fn, lchan->tch.rep_facch[0].fn) >= 8) {
+	if (lchan->rep_acch.dl_facch[0].msg && GSM_TDMA_FN_SUB(fn, lchan->rep_acch.dl_facch[0].fn) >= 8) {
 		/* Re-use stored FACCH message buffer from SLOT #0 for repetition. */
-		msg = lchan->tch.rep_facch[0].msg;
-		lchan->tch.rep_facch[0].msg = NULL;
-	} else if (lchan->tch.rep_facch[1].msg && GSM_TDMA_FN_SUB(fn, lchan->tch.rep_facch[1].fn) >= 8) {
+		msg = lchan->rep_acch.dl_facch[0].msg;
+		lchan->rep_acch.dl_facch[0].msg = NULL;
+	} else if (lchan->rep_acch.dl_facch[1].msg && GSM_TDMA_FN_SUB(fn, lchan->rep_acch.dl_facch[1].fn) >= 8) {
 		/* Re-use stored FACCH message buffer from SLOT #1 for repetition. */
-		msg = lchan->tch.rep_facch[1].msg;
-		lchan->tch.rep_facch[1].msg = NULL;
+		msg = lchan->rep_acch.dl_facch[1].msg;
+		lchan->rep_acch.dl_facch[1].msg = NULL;
 	} else {
 		/* Fetch new FACCH from queue ... */
 		if (lapdm_phsap_dequeue_prim(le, &pp) < 0)
@@ -1010,12 +1010,12 @@
 			return msg;
 
 		/* ... and store the message buffer for repetition. */
-		if (lchan->tch.rep_facch[0].msg == NULL) {
-			lchan->tch.rep_facch[0].msg = msgb_copy(msg, "rep_facch_0");
-			lchan->tch.rep_facch[0].fn = fn;
-		} else if (lchan->tch.rep_facch[1].msg == NULL) {
-			lchan->tch.rep_facch[1].msg = msgb_copy(msg, "rep_facch_1");
-			lchan->tch.rep_facch[1].fn = fn;
+		if (lchan->rep_acch.dl_facch[0].msg == NULL) {
+			lchan->rep_acch.dl_facch[0].msg = msgb_copy(msg, "rep_facch_0");
+			lchan->rep_acch.dl_facch[0].fn = fn;
+		} else if (lchan->rep_acch.dl_facch[1].msg == NULL) {
+			lchan->rep_acch.dl_facch[1].msg = msgb_copy(msg, "rep_facch_1");
+			lchan->rep_acch.dl_facch[1].fn = fn;
 		} else {
 			/* By definition 3GPP TS 05.02 does not allow more than two (for TCH/H only one) FACCH blocks
 			 * to be transmitted simultaniously. */
diff --git a/src/common/lchan.c b/src/common/lchan.c
index 423ecc1..9f27409 100644
--- a/src/common/lchan.c
+++ b/src/common/lchan.c
@@ -292,10 +292,10 @@
 		lapdm_channel_exit(&lchan->lapdm_ch);
 		/* Also ensure that there are no leftovers from repeated FACCH or
 		 * repeated SACCH that might cause memory leakage. */
-		msgb_free(lchan->tch.rep_facch[0].msg);
-		msgb_free(lchan->tch.rep_facch[1].msg);
-		lchan->tch.rep_facch[0].msg = NULL;
-		lchan->tch.rep_facch[1].msg = NULL;
+		msgb_free(lchan->rep_acch.dl_facch[0].msg);
+		msgb_free(lchan->rep_acch.dl_facch[1].msg);
+		lchan->rep_acch.dl_facch[0].msg = NULL;
+		lchan->rep_acch.dl_facch[1].msg = NULL;
 		msgb_free(lchan->rep_acch.dl_sacch_msg);
 		lchan->rep_acch.dl_sacch_msg = NULL;
 		/* fall through */

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

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I1469619528bb69c78c2fdc25bc1db208ead936d0
Gerrit-Change-Number: 25896
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/20211021/e0a978d3/attachment.htm>


More information about the gerrit-log mailing list