[PATCH] osmo-bts[master]: octphy: Dont't crash if transceiver is re-initalized

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/.

dexter gerrit-no-reply at lists.osmocom.org
Thu Sep 22 15:09:59 UTC 2016


Review at  https://gerrit.osmocom.org/907

octphy: Dont't crash if transceiver is re-initalized

An already opend TRX would cause osmo-bts to exit, this patch
handels the condition gracefully. Same is true in case of already
activated physical channels

Change-Id: I3fccc8e45843d255b256a753547436c39bbf38b0
---
M src/osmo-bts-octphy/l1_oml.c
1 file changed, 21 insertions(+), 14 deletions(-)


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

diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c
index f8c5ac9..8d707f4 100644
--- a/src/osmo-bts-octphy/l1_oml.c
+++ b/src/osmo-bts-octphy/l1_oml.c
@@ -1307,11 +1307,15 @@
 		trx->nr, octvc1_rc2string(or->Header.ulReturnCode));
 
 	/* FIXME: check for ulReturnCode == OK */
-	if (or->Header.ulReturnCode != cOCTVC1_RC_OK) {
-		LOGP(DL1C, LOGL_ERROR, "TRX-OPEN failed: %s\n",
-			octvc1_rc2string(or->Header.ulReturnCode));
-		msgb_free(resp);
-		exit(1);
+	if (or->Header.ulReturnCode != cOCTVC1_RC_OK)
+	{
+		if(or->Header.ulReturnCode != cOCTVC1_GSM_RC_TRX_ALREADY_OPENED)
+		{
+			LOGP(DL1C, LOGL_ERROR, "TRX-OPEN failed: %s\n",
+				octvc1_rc2string(or->Header.ulReturnCode));
+			msgb_free(resp);
+			exit(1);
+		}
 	}
 
 	msgb_free(resp);
@@ -1327,8 +1331,7 @@
 	octphy_hw_get_clock_sync_info(fl1h);
 	fl1h->opened = 1;
 
-	/* Temporary fix for enabling events after TRX Close + Reopen */
-	return l1if_enable_events(trx);
+	return 0;
 }
 
 int l1if_trx_open(struct gsm_bts_trx *trx)
@@ -1419,13 +1422,17 @@
 		ts->trx->nr, ts->nr, ts->pchan,
 		octvc1_rc2string(ar->Header.ulReturnCode));
 
-	if (ar->Header.ulReturnCode != cOCTVC1_RC_OK) {
-		LOGP(DL1C, LOGL_ERROR,
-		     "PCHAN-ACT failed: %s\n\n",
-		     octvc1_rc2string(ar->Header.ulReturnCode));
-		LOGP(DL1C, LOGL_ERROR, "Exiting... \n\n");
-		msgb_free(resp);
-		exit(-1);
+	if (ar->Header.ulReturnCode != cOCTVC1_RC_OK) 
+	{
+		if(ar->Header.ulReturnCode != cOCTVC1_GSM_RC_PHYSICAL_CHANNEL_ALREADY_ACTIVATED)
+		{
+			LOGP(DL1C, LOGL_ERROR,
+			     "PCHAN-ACT failed: %s\n\n",
+			     octvc1_rc2string(ar->Header.ulReturnCode));
+			LOGP(DL1C, LOGL_ERROR, "Exiting... \n\n");
+			msgb_free(resp);
+			exit(-1);
+		}
 	}
 
 	trx = ts->trx;

-- 
To view, visit https://gerrit.osmocom.org/907
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3fccc8e45843d255b256a753547436c39bbf38b0
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: dexter <pmaier at sysmocom.de>



More information about the gerrit-log mailing list