From d290ee029a827c870f97372b98f0dbd7d057402a Mon Sep 17 00:00:00 2001 From: Jacob Erlbeck Date: Fri, 21 Feb 2014 15:09:15 +0100 Subject: 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 --- src/osmo-bts-sysmo/l1_if.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) (limited to 'src/osmo-bts-sysmo') 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: -- cgit v1.2.3