OM2000: Fix missing dynamic TCH initialization
When OM2000 has confirmed that a TS is started, call dyn_ts_init() on the timeslot to start the processing for fully dynamic (osmocom style) TCH/F_TCH/H_PDCH. This should in turn trigger the activation of idle timeslots as PDCH until we want to allocate any of them for TCH/F or TCH/H. Change-Id: I1a1fd61d6afd85449cacad4bacfb830252dab6b1
This commit is contained in:
parent
96638d141e
commit
80ccb95267
|
@ -39,6 +39,7 @@
|
|||
#include <openbsc/gsm_data.h>
|
||||
#include <openbsc/debug.h>
|
||||
#include <openbsc/abis_nm.h>
|
||||
#include <openbsc/abis_rsl.h>
|
||||
#include <openbsc/abis_om2000.h>
|
||||
#include <openbsc/signal.h>
|
||||
#include <osmocom/abis/e1_input.h>
|
||||
|
@ -1282,6 +1283,8 @@ static uint8_t pchan2comb(enum gsm_phys_chan_config pchan)
|
|||
case GSM_PCHAN_TCH_F:
|
||||
case GSM_PCHAN_TCH_H:
|
||||
case GSM_PCHAN_PDCH:
|
||||
case GSM_PCHAN_TCH_F_PDCH:
|
||||
case GSM_PCHAN_TCH_F_TCH_H_PDCH:
|
||||
return 8;
|
||||
default:
|
||||
return 0;
|
||||
|
@ -1674,6 +1677,15 @@ static void om2k_mo_st_wait_enable_res(struct osmo_fsm_inst *fi, uint32_t event,
|
|||
|
||||
static void om2k_mo_st_wait_opinfo_accept(struct osmo_fsm_inst *fi, uint32_t event, void *data)
|
||||
{
|
||||
struct om2k_mo_fsm_priv *omfp = fi->priv;
|
||||
|
||||
/* if we have just received opinfo accept for the timeslot,
|
||||
* start dynamic TCH switching procedures */
|
||||
if (omfp->mo->addr.class == OM2K_MO_CLS_TS) {
|
||||
struct gsm_bts_trx_s *ts;
|
||||
ts = mo2obj(omfp->trx->bts, &omfp->mo->addr);
|
||||
dyn_ts_init(ts);
|
||||
}
|
||||
osmo_fsm_inst_state_chg(fi, OM2K_ST_DONE, 0, 0);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue