aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-litecell15
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2016-10-12 16:24:32 +0200
committerHarald Welte <laforge@gnumonks.org>2016-12-01 15:25:26 +0000
commit4a8582846281322e8d7dfc577b18767cf35c24d1 (patch)
treeff9cd1499a38e2d87834e65fc505e31aefff9251 /src/osmo-bts-litecell15
parentb58aa60d785f4400ba6e21752d16ea01ac4c0a1f (diff)
Fix AGCH/PCH proportional allocation
Do not assume that 1 == BS_AG_BLKS_RES but take that information from SI3. Note: due to current implementation quirks we activate channels before SI3 obtained, than we deactivate channels upon receiving SI3 and activate them again. This might not be necessary once we migrate to proper OML state machines. This affects lc15 and sysmo hw. Change-Id: I11377b12680ac3b2f77f80e742b6f0af63fc9c1e Related: OS#1575
Diffstat (limited to 'src/osmo-bts-litecell15')
-rw-r--r--src/osmo-bts-litecell15/l1_if.c16
-rw-r--r--src/osmo-bts-litecell15/oml.c9
2 files changed, 7 insertions, 18 deletions
diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c
index 632e769b..d9593382 100644
--- a/src/osmo-bts-litecell15/l1_if.c
+++ b/src/osmo-bts-litecell15/l1_if.c
@@ -1188,22 +1188,6 @@ int l1if_handle_sysprim(struct lc15l1_hdl *fl1h, struct msgb *msg)
return l1if_handle_ind(fl1h, msg);
}
-#if 0
-/* called by RSL if the BCCH SI has been modified */
-int sysinfo_has_changed(struct gsm_bts *bts, int si)
-{
- /* FIXME: Determine BS_AG_BLKS_RES and
- * * set cfgParams.u.agch.u8NbrOfAgch
- * * determine implications on paging
- */
- /* FIXME: Check for Extended BCCH presence */
- /* FIXME: Check for CCCH_CONF */
- /* FIXME: Check for BS_PA_MFRMS: update paging */
-
- return 0;
-}
-#endif
-
static int activate_rf_compl_cb(struct gsm_bts_trx *trx, struct msgb *resp,
void *data)
{
diff --git a/src/osmo-bts-litecell15/oml.c b/src/osmo-bts-litecell15/oml.c
index 8afa2a2f..64c868cb 100644
--- a/src/osmo-bts-litecell15/oml.c
+++ b/src/osmo-bts-litecell15/oml.c
@@ -1025,8 +1025,7 @@ static int mph_send_activate_req(struct gsm_lchan *lchan, struct sapi_cmd *cmd)
lch_par->rach.u8Bsic = lchan->ts->trx->bts->bsic;
break;
case GsmL1_Sapi_Agch:
-#warning Set BS_AG_BLKS_RES
- lch_par->agch.u8NbrOfAgch = 1;
+ lch_par->agch.u8NbrOfAgch = num_agch(lchan->ts->trx, lchan->name);
break;
case GsmL1_Sapi_TchH:
case GsmL1_Sapi_TchF:
@@ -1566,6 +1565,12 @@ static int sapi_deactivate_cb(struct gsm_lchan *lchan, int status)
lchan_set_state(lchan, LCHAN_S_NONE);
mph_info_chan_confirm(lchan, PRIM_INFO_DEACTIVATE, 0);
+
+ /* Reactivate CCCH due to SI3 update in RSL */
+ if (lchan->rel_act_kind == LCHAN_REL_ACT_REACT) {
+ lchan->rel_act_kind = LCHAN_REL_ACT_RSL;
+ lchan_activate(lchan);
+ }
return 0;
}