aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-sysmo/l1_if.c
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2014-02-21 15:09:15 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2014-02-22 08:45:56 +0100
commitd290ee029a827c870f97372b98f0dbd7d057402a (patch)
tree98c9e95ef024df0fa842d2325fa53eb559c5680a /src/osmo-bts-sysmo/l1_if.c
parentd242ec2ed909e58d8f3905b185a1b1e14806f7da (diff)
agch/pch: Put CCCH message generation into common
This patch adds a common function bts_ccch_copy_msg() that provides and schedules AGCH and PCH messages. It is basically a frontend to paging_gen_msg() and bts_agch_dequeue() and contains refactored code from l1_if.c. Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/osmo-bts-sysmo/l1_if.c')
-rw-r--r--src/osmo-bts-sysmo/l1_if.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/src/osmo-bts-sysmo/l1_if.c b/src/osmo-bts-sysmo/l1_if.c
index 2a14dd05..fbc259bb 100644
--- a/src/osmo-bts-sysmo/l1_if.c
+++ b/src/osmo-bts-sysmo/l1_if.c
@@ -373,7 +373,6 @@ static int handle_ph_readytosend_ind(struct femtol1_hdl *fl1,
{
struct gsm_bts_trx *trx = fl1->priv;
struct gsm_bts *bts = trx->bts;
- struct gsm_bts_role_bts *btsb = bts->role;
struct msgb *resp_msg;
GsmL1_PhDataReq_t *data_req;
GsmL1_MsgUnitParam_t *msu_param;
@@ -511,19 +510,11 @@ static int handle_ph_readytosend_ind(struct femtol1_hdl *fl1,
}
break;
case GsmL1_Sapi_Agch:
- /* special queue of messages from IMM ASS CMD */
- {
- struct msgb *msg = bts_agch_dequeue(bts);
- if (!msg)
- memcpy(msu_param->u8Buffer, fill_frame, GSM_MACBLOCK_LEN);
- else {
- memcpy(msu_param->u8Buffer, msgb_l3(msg), msgb_l3len(msg));
- msgb_free(msg);
- }
- }
- break;
case GsmL1_Sapi_Pch:
- rc = paging_gen_msg(btsb->paging_state, msu_param->u8Buffer, &g_time);
+ rc = bts_ccch_copy_msg(bts, msu_param->u8Buffer, &g_time,
+ rts_ind->sapi == GsmL1_Sapi_Agch);
+ if (rc <= 0)
+ memcpy(msu_param->u8Buffer, fill_frame, GSM_MACBLOCK_LEN);
break;
case GsmL1_Sapi_TchF:
case GsmL1_Sapi_TchH: