aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/common/rsl.c18
-rw-r--r--src/common/scheduler_mframe.c2
-rw-r--r--src/osmo-bts-trx/sched_lchan_tchf.c6
-rw-r--r--src/osmo-bts-trx/sched_lchan_tchh.c6
4 files changed, 16 insertions, 16 deletions
diff --git a/src/common/rsl.c b/src/common/rsl.c
index cd3fda5f..a62a01c7 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -1645,21 +1645,21 @@ static int rsl_rx_chan_activ(struct msgb *msg)
/* Indicate which SAPIs should be enabled before the first RACH is received, for handover. See 3GPP TS 48.058
* 4.1.3 and 4.1.4.
*
- * | | Access || transmit | activate | This implementation
- * | MS Power | Delay || on main channel | dl SACCH | activates DL SACCH
+ * | | Timing || transmit | activate | This implementation
+ * | MS Power | Advance || on main channel | dl SACCH | activates DL SACCH
* -----------------------------------------------------------------------------------------
- * async ho no * --> yes no no
- * async ho yes * --> yes may be started no
- * async ho yes yes --> yes may be started yes
- * sync ho no no --> yes no no
- * sync ho yes no --> yes may be started no
- * sync ho yes yes --> yes shall be started yes
+ * async ho no * --> yes no no
+ * async ho yes * --> yes may be started no
+ * async ho yes yes --> yes may be started yes
+ * sync ho no no --> yes no no
+ * sync ho yes no --> yes may be started no
+ * sync ho yes yes --> yes shall be started yes
*/
switch (type) {
case RSL_ACT_INTER_ASYNC:
case RSL_ACT_INTER_SYNC:
lchan->want_dl_sacch_active = (TLVP_PRES_LEN(&tp, RSL_IE_MS_POWER, 1)
- && TLVP_PRES_LEN(&tp, RSL_IE_ACCESS_DELAY, 1));
+ && TLVP_PRES_LEN(&tp, RSL_IE_TIMING_ADVANCE, 1));
break;
default:
lchan->want_dl_sacch_active = true;
diff --git a/src/common/scheduler_mframe.c b/src/common/scheduler_mframe.c
index b969407c..f6476ece 100644
--- a/src/common/scheduler_mframe.c
+++ b/src/common/scheduler_mframe.c
@@ -1007,7 +1007,7 @@ bool trx_sched_is_sacch_fn(struct gsm_bts_trx_ts *ts, uint32_t fn, bool uplink)
const struct trx_sched_frame *frame;
enum trx_chan_type ch_type;
- i = find_sched_mframe_idx(ts->pchan, ts->nr);
+ i = find_sched_mframe_idx(ts_pchan(ts), ts->nr);
if (i < 0)
return -EINVAL;
sched = &trx_sched_multiframes[i];
diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c
index b1453dc0..267ca08b 100644
--- a/src/osmo-bts-trx/sched_lchan_tchf.c
+++ b/src/osmo-bts-trx/sched_lchan_tchf.c
@@ -191,7 +191,7 @@ int rx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan,
/* only good speech frames get rtp header */
if (rc != GSM_MACBLOCK_LEN && rc >= 4) {
if (chan_state->amr_last_dtx == AMR_OTHER) {
- ft = chan_state->codec[chan_state->ul_cmr];
+ ft = chan_state->codec[chan_state->ul_ft];
} else {
/* SID frames will always get Frame Type Index 8 (AMR_SID) */
ft = AMR_SID;
@@ -280,8 +280,8 @@ bfi:
break;
case GSM48_CMODE_SPEECH_AMR: /* AMR */
rc = osmo_amr_rtp_enc(tch_data,
- chan_state->codec[chan_state->dl_cmr],
- chan_state->codec[chan_state->dl_ft],
+ chan_state->codec[chan_state->ul_cmr],
+ chan_state->codec[chan_state->ul_ft],
AMR_BAD);
if (rc < 2) {
LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn,
diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c
index 378d47ae..8bde7d49 100644
--- a/src/osmo-bts-trx/sched_lchan_tchh.c
+++ b/src/osmo-bts-trx/sched_lchan_tchh.c
@@ -215,7 +215,7 @@ int rx_tchh_fn(struct l1sched_trx *l1t, enum trx_chan_type chan,
/* only good speech frames get rtp header */
if (rc != GSM_MACBLOCK_LEN && rc >= 4) {
if (chan_state->amr_last_dtx == AMR_OTHER) {
- ft = chan_state->codec[chan_state->ul_cmr];
+ ft = chan_state->codec[chan_state->ul_ft];
} else {
/* SID frames will always get Frame Type Index 8 (AMR_SID) */
ft = AMR_SID;
@@ -311,8 +311,8 @@ bfi:
break;
case GSM48_CMODE_SPEECH_AMR: /* AMR */
rc = osmo_amr_rtp_enc(tch_data,
- chan_state->codec[chan_state->dl_cmr],
- chan_state->codec[chan_state->dl_ft],
+ chan_state->codec[chan_state->ul_cmr],
+ chan_state->codec[chan_state->ul_ft],
AMR_BAD);
if (rc < 2) {
LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn,