aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2021-05-08 00:28:02 +0000
committerNeels Hofmeyr <neels@hofmeyr.de>2021-05-08 00:28:02 +0000
commitb76a696b412b6579373440cda117c742a086e4a9 (patch)
treec4fa0c722697a064570d0c03372fef3c6e3d4997
parent56cf47f79f1fe936a1c441ca1e7bcb5264bbdab4 (diff)
-rw-r--r--src/osmo-bsc/abis_rsl.c2
-rw-r--r--src/osmo-bsc/gsm_04_08_rr.c6
2 files changed, 7 insertions, 1 deletions
diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c
index 46f5f8e2d..dba127316 100644
--- a/src/osmo-bsc/abis_rsl.c
+++ b/src/osmo-bsc/abis_rsl.c
@@ -754,6 +754,7 @@ int rsl_deact_sacch(struct gsm_lchan *lchan)
DEBUGP(DRSL, "%s DEACTivate SACCH CMD\n", gsm_lchan_name(lchan));
+ LOG_LCHAN(lchan, LOGL_DEBUG, "Tx RSL_MT_DEACTIVATE_SACCH\n");
return abis_rsl_sendmsg(msg);
}
@@ -771,6 +772,7 @@ int rsl_tx_rf_chan_release(struct gsm_lchan *lchan)
msg->lchan = lchan;
msg->dst = rsl_chan_link(lchan);
+ LOG_LCHAN(lchan, LOGL_DEBUG, "Tx RSL_MT_RF_CHAN_REL\n");
return abis_rsl_sendmsg(msg);
}
diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c
index 96bf7f89c..7dcfb3f0b 100644
--- a/src/osmo-bsc/gsm_04_08_rr.c
+++ b/src/osmo-bsc/gsm_04_08_rr.c
@@ -328,6 +328,7 @@ int gsm48_send_rr_release(struct gsm_lchan *lchan)
DEBUGP(DRR, "Sending Channel Release: Chan: Number: %d Type: %d RR-Cause: 0x%x '%s'\n",
lchan->nr, lchan->type, lchan->release.rr_cause, rr_cause_name(lchan->release.rr_cause));
+ LOG_LCHAN(lchan, LOGL_DEBUG, "Tx GSM48_MT_RR_CHAN_REL\n");
/* Send actual release request to MS */
return gsm48_sendmsg(msg);
}
@@ -729,7 +730,10 @@ int gsm48_rx_rr_modif_ack(struct msgb *msg)
LOG_LCHAN(msg->lchan, LOGL_DEBUG, "CHANNEL MODE MODIFY ACK for %s\n",
gsm48_chan_mode_name(mod->mode));
- if (mod->mode != msg->lchan->modify.info.ch_mode_rate.chan_mode) {
+ /* The modify.info usually passes a non-VAMOS chan mode and expects a info.vamos = true flag to implicitly send
+ * a VAMOS chan mode on RR. Compare the chan mode VAMOS-insensitively. */
+ if (gsm48_chan_mode_to_non_vamos(mod->mode)
+ != gsm48_chan_mode_to_non_vamos(msg->lchan->modify.info.ch_mode_rate.chan_mode)) {
LOG_LCHAN(msg->lchan, LOGL_ERROR,
"CHANNEL MODE MODIFY ACK has wrong mode: Wanted: %s Got: %s\n",
gsm48_chan_mode_name(msg->lchan->modify.info.ch_mode_rate.chan_mode),