diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2013-02-07 16:58:00 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2015-09-22 16:41:25 +0200 |
commit | 7d684d6866e711f96a9bac37225dbe537b514401 (patch) | |
tree | effa6599d61dd47a153b1e3f411601ff6cfff8c4 /src | |
parent | e0959e7929cf9c8659919f2849c54360eda95032 (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.c | 12 |
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", |