aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcu_l1_if.cpp
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2012-07-20 11:19:59 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2012-07-20 11:19:59 +0200
commit3b7461c1b39f424d41f30613560abd8a6fda375e (patch)
tree74d06bb4b38143fbfe41cc58d1d60e2918c9302d /src/pcu_l1_if.cpp
parent2b91464862270d72800b6dcc5a521f933fbbd489 (diff)
Fixed Paging RR on PACCH
Addition to 2b91464862270d72800b6dcc5a521f933fbbd489
Diffstat (limited to 'src/pcu_l1_if.cpp')
-rw-r--r--src/pcu_l1_if.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index 615d8944..00030d66 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -292,8 +292,10 @@ bssgp_failed:
/* free all TBF */
for (trx = 0; trx < 8; trx++) {
bts->trx[trx].arfcn = info_ind->trx[trx].arfcn;
- for (ts = 0; ts < 8; ts++)
- flush_pdch(&bts->trx[trx].pdch[ts]);
+ for (ts = 0; ts < 8; ts++) {
+ if (bts->trx[trx].pdch[ts].enable)
+ flush_pdch(&bts->trx[trx].pdch[ts]);
+ }
}
gprs_bssgp_destroy();
return 0;
@@ -383,18 +385,20 @@ bssgp_failed:
pdch = &bts->trx[trx].pdch[ts];
if ((info_ind->trx[trx].pdch_mask & (1 << ts))) {
/* FIXME: activate dynamically at RLCMAC */
- if (!pdch->enable)
+ if (!pdch->enable) {
pcu_tx_act_req(trx, ts, 1);
- pdch->enable = 1;
+ INIT_LLIST_HEAD(&pdch->paging_list);
+ pdch->enable = 1;
+ }
pdch->tsc = info_ind->trx[trx].tsc[ts];
- INIT_LLIST_HEAD(&pdch->paging_list);
LOGP(DL1IF, LOGL_INFO, "PDCH: trx=%d ts=%d\n",
trx, ts);
} else {
- if (pdch->enable)
+ if (pdch->enable) {
pcu_tx_act_req(trx, ts, 0);
- pdch->enable = 0;
- flush_pdch(pdch);
+ pdch->enable = 0;
+ flush_pdch(pdch);
+ }
}
}
}