aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2013-02-07 16:58:00 +0100
committerHarald Welte <laforge@gnumonks.org>2015-09-22 16:41:25 +0200
commit7d684d6866e711f96a9bac37225dbe537b514401 (patch)
treeeffa6599d61dd47a153b1e3f411601ff6cfff8c4 /src
parente0959e7929cf9c8659919f2849c54360eda95032 (diff)
TRX: Fix, never send confirm for DEACT SACCH request (TS 05.08 4.6)
Sending it would cause BSC to change to a state, where it does not release rf channel.
Diffstat (limited to 'src')
-rw-r--r--src/osmo-bts-trx/l1_if.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c
index 8040f4e0..23f87b21 100644
--- a/src/osmo-bts-trx/l1_if.c
+++ b/src/osmo-bts-trx/l1_if.c
@@ -457,6 +457,7 @@ int bts_model_l1sap_down(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap)
/* activate dedicated channel */
trx_sched_set_lchan(l1h, chan_nr, 0x00, 0, 1);
trx_sched_set_lchan(l1h, chan_nr, 0x00, 1, 1);
+ /* activate assoicated channel */
trx_sched_set_lchan(l1h, chan_nr, 0x40, 0, 1);
trx_sched_set_lchan(l1h, chan_nr, 0x40, 1, 1);
/* init lapdm */
@@ -476,16 +477,17 @@ int bts_model_l1sap_down(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap)
"chan_nr 0x%02x\n", chan_nr);
break;
}
+ /* deactivate assoicated channel */
+ trx_sched_set_lchan(l1h, chan_nr, 0x40, 0, 0);
+ trx_sched_set_lchan(l1h, chan_nr, 0x40, 1, 0);
/* deactivate dedicated channel */
if (!l1sap->u.info.u.act_req.sacch_only) {
trx_sched_set_lchan(l1h, chan_nr, 0x00, 0, 0);
trx_sched_set_lchan(l1h, chan_nr, 0x00, 1, 0);
+ /* confirm only on dedicated channel */
+ mph_info_chan_confirm(l1h, chan_nr,
+ PRIM_INFO_DEACTIVATE, 0);
}
- trx_sched_set_lchan(l1h, chan_nr, 0x40, 0, 0);
- trx_sched_set_lchan(l1h, chan_nr, 0x40, 1, 0);
- /* confirm */
- mph_info_chan_confirm(l1h, chan_nr,
- PRIM_INFO_DEACTIVATE, 0);
break;
default:
LOGP(DL1C, LOGL_NOTICE, "unknown MPH-INFO.req %d\n",