[PATCH] Fix: Stop RADIO LINK TIMEOUT couter S from counting, if it has reached 0

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/OpenBSC@lists.osmocom.org/.

Andreas Eversberg jolly at eversberg.eu
Wed Mar 13 09:26:48 UTC 2013


In case that the counter S reached 0 (or have been initialized with 0
value at start of lchan), it will stay 0. Subsequent received good and bad
SACCH frames must not cause to trigger radio link failure again. Once the
BSC has been indicated about link failure, it will close channel.
---
 src/osmo-bts-sysmo/l1_if.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/osmo-bts-sysmo/l1_if.c b/src/osmo-bts-sysmo/l1_if.c
index df660c5..5728df0 100644
--- a/src/osmo-bts-sysmo/l1_if.c
+++ b/src/osmo-bts-sysmo/l1_if.c
@@ -681,8 +681,11 @@ static int handle_ph_data_ind(struct femtol1_hdl *fl1, GsmL1_PhDataInd_t *data_i
 
 	switch (data_ind->sapi) {
 	case GsmL1_Sapi_Sacch:
-		/* process radio link timeout coniter S */
+		/* process radio link timeout counter S */
 		if (data_ind->msgUnitParam.u8Size == 0) {
+			/* if link loss criterion already reached */
+			if (lchan->s == 0)
+				break;
 			/* count down radio link counter S */
 			lchan->s--;
 			DEBUGP(DMEAS, "counting down radio link counter S=%d\n",
@@ -692,7 +695,7 @@ static int handle_ph_data_ind(struct femtol1_hdl *fl1, GsmL1_PhDataInd_t *data_i
 					RSL_ERR_RADIO_LINK_FAIL);
 			break;
 		}
-		if (lchan->s < btsb->radio_link_timeout) {
+		if (lchan->s > 0 && lchan->s < btsb->radio_link_timeout) {
 			/* count up radio link counter S */
 			lchan->s += 2;
 			if (lchan->s > btsb->radio_link_timeout)
-- 
1.7.3.4


--------------030009070902010606020306--




More information about the OpenBSC mailing list