aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-litecell15
diff options
context:
space:
mode:
Diffstat (limited to 'src/osmo-bts-litecell15')
-rw-r--r--src/osmo-bts-litecell15/lc15_l1_if.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/osmo-bts-litecell15/lc15_l1_if.c b/src/osmo-bts-litecell15/lc15_l1_if.c
index 12a977ba..c82ddba2 100644
--- a/src/osmo-bts-litecell15/lc15_l1_if.c
+++ b/src/osmo-bts-litecell15/lc15_l1_if.c
@@ -199,11 +199,6 @@ static int handle_ph_data_ind(struct lc15l1_hdl *fl1h,
if (data_ind->msgUnitParam.u8Size == 0)
return -1;
- gsmtap_send(fl1h->gsmtap, data_ind->u16Arfcn | GSMTAP_ARFCN_F_UPLINK,
- data_ind->u8Tn, GSMTAP_CHANNEL_PACCH, 0,
- data_ind->u32Fn, 0, 0, data_ind->msgUnitParam.u8Buffer+1,
- data_ind->msgUnitParam.u8Size-1);
-
get_meas(&meas, &data_ind->measParam);
bts_update_tbf_ta("PH-DATA", data_ind->u32Fn, fl1h->trx_no,
data_ind->u8Tn, qta2ta(meas.bto));
@@ -216,7 +211,7 @@ static int handle_ph_data_ind(struct lc15l1_hdl *fl1h,
!= GsmL1_PdtchPlType_Full)
break;
/* PDTCH / PACCH frame handling */
- pcu_rx_data_ind_pdtch(fl1h->trx_no, data_ind->u8Tn,
+ rc = pcu_rx_data_ind_pdtch(fl1h->trx_no, data_ind->u8Tn,
data_ind->msgUnitParam.u8Buffer + 1,
data_ind->msgUnitParam.u8Size - 1,
data_ind->u32Fn,
@@ -224,6 +219,7 @@ static int handle_ph_data_ind(struct lc15l1_hdl *fl1h,
break;
case GsmL1_Sapi_Ptcch:
// FIXME
+ rc = -1;
break;
default:
LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n",
@@ -231,6 +227,13 @@ static int handle_ph_data_ind(struct lc15l1_hdl *fl1h,
break;
}
+ if (rc < 0) {
+ gsmtap_send(fl1h->gsmtap, data_ind->u16Arfcn | GSMTAP_ARFCN_F_UPLINK,
+ data_ind->u8Tn, GSMTAP_CHANNEL_PACCH, 0,
+ data_ind->u32Fn, 0, 0, data_ind->msgUnitParam.u8Buffer+1,
+ data_ind->msgUnitParam.u8Size-1);
+ }
+
return rc;
}
@@ -322,12 +325,6 @@ int l1if_pdch_req(void *obj, uint8_t ts, int is_ptcch, uint32_t fn,
msu_param->u8Size = len;
memcpy(msu_param->u8Buffer, data, len);
- gsmtap_send(fl1h->gsmtap, arfcn, data_req->u8Tn, GSMTAP_CHANNEL_PACCH,
- 0, data_req->u32Fn, 0, 0,
- data_req->msgUnitParam.u8Buffer,
- data_req->msgUnitParam.u8Size);
-
-
/* transmit */
if (osmo_wqueue_enqueue(&fl1h->write_q[MQ_PDTCH_WRITE], msg) != 0) {
LOGP(DL1IF, LOGL_ERROR, "PDTCH queue full. dropping message.\n");