Max has submitted this change and it was merged. ( 
https://gerrit.osmocom.org/11565 )

Change subject: LCLS: explicitly check for mode before closing the loop
......................................................................

LCLS: explicitly check for mode before closing the loop

Change-Id: Ie91cc70de20ade2bfa3a1a108c731341f5e739bb
Related: OS#3659
---
M src/osmo-bsc/osmo_bsc_lcls.c
1 file changed, 13 insertions(+), 11 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/osmo-bsc/osmo_bsc_lcls.c b/src/osmo-bsc/osmo_bsc_lcls.c
index a406643..a25faa4 100644
--- a/src/osmo-bsc/osmo_bsc_lcls.c
+++ b/src/osmo-bsc/osmo_bsc_lcls.c
@@ -238,7 +238,6 @@

 static void lcls_break_local_switching(struct gsm_subscriber_connection *conn)
 {
-       struct mgcp_conn_peer mdcx_info;

        LOGPFSM(conn->lcls.fi, "=== HERE IS WHERE WE DISABLE LCLS(%s)\n",
                bsc_lcls_mode_name(conn->sccp.msc->lcls_mode));
@@ -249,11 +248,13 @@
                return;
        }

-       mdcx_info = (struct mgcp_conn_peer){
-               .port = conn->user_plane.msc_assigned_rtp_port,
-       };
-       osmo_strlcpy(mdcx_info.addr, conn->user_plane.msc_assigned_rtp_addr, 
sizeof(mdcx_info.addr));
-       lcls_mdcx(conn, &mdcx_info);
+       if (conn->sccp.msc->lcls_mode == BSC_LCLS_MODE_MGW_LOOP) {
+               struct mgcp_conn_peer mdcx_info = (struct mgcp_conn_peer){
+                       .port = conn->user_plane.msc_assigned_rtp_port,
+               };
+               osmo_strlcpy(mdcx_info.addr, 
conn->user_plane.msc_assigned_rtp_addr, sizeof(mdcx_info.addr));
+               lcls_mdcx(conn, &mdcx_info);
+       }
 }

 static bool lcls_enable_possible(struct gsm_subscriber_connection *conn)
@@ -579,7 +580,6 @@
        struct gsm_subscriber_connection *conn = fi->priv;
        struct gsm_subscriber_connection *conn_other = conn->lcls.other;
        const struct mgcp_conn_peer *other_mgw_info;
-       struct mgcp_conn_peer mdcx_info;

        OSMO_ASSERT(conn_other);

@@ -601,10 +601,12 @@
                return;
        }

-       mdcx_info = *other_mgw_info;
-       /* Make sure the request doesn't want to use the other side's endpoint 
string. */
-       mdcx_info.endpoint[0] = 0;
-       lcls_mdcx(conn, &mdcx_info);
+       if (conn->sccp.msc->lcls_mode == BSC_LCLS_MODE_MGW_LOOP) {
+               struct mgcp_conn_peer mdcx_info = *other_mgw_info;
+               /* Make sure the request doesn't want to use the other side's 
endpoint string. */
+               mdcx_info.endpoint[0] = 0;
+               lcls_mdcx(conn, &mdcx_info);
+       }
 }

 static void lcls_locally_switched_wait_break_fn(struct osmo_fsm_inst *fi, 
uint32_t event, void *data)

--
To view, visit https://gerrit.osmocom.org/11565
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ie91cc70de20ade2bfa3a1a108c731341f5e739bb
Gerrit-Change-Number: 11565
Gerrit-PatchSet: 6
Gerrit-Owner: Max <[email protected]>
Gerrit-Reviewer: Harald Welte <[email protected]>
Gerrit-Reviewer: Jenkins Builder (1000002)
Gerrit-Reviewer: Max <[email protected]>
Gerrit-Reviewer: Neels Hofmeyr <[email protected]>
Gerrit-CC: Pau Espin Pedrol <[email protected]>

Reply via email to