path: root/src/osmo-bts-sysmo/l1_if.c
diff options
authorPau Espin Pedrol <pespin@sysmocom.de>2017-06-30 15:19:00 +0200
committerHarald Welte <laforge@gnumonks.org>2017-07-10 08:44:00 +0000
commitf588b5f91d78d7cf1fc01d657b8483d3908c8841 (patch)
tree49ae8e0ae891239567fb32a3e9c45ff1332eb272 /src/osmo-bts-sysmo/l1_if.c
parent0bd7a19114a0deec6a40956ed50979465ab608f7 (diff)
Allow passing low link quality buffers to upper layers
We want to always call l1if_tch_rx and l1sap_up in order to avoid losing triggering events on the upper layer. With this change, the upper layer will increase correctly seq + ts for RTP. It will then send an RTP packet with only the header and no payload, which is not correct but at least we avoid drifting the RTP clock. Upcoming patch in the series solves this issue. This patch assumes that we are not lossing data events from the physical layer and that we receive an event every 20ms, even if the MS is not transmitting due to DTX. Depends on libosmocore If4ae20c22b881e94585dad710f17b9e37f77bf82 Change-Id: If5df8940fab833eb4e3ed851880b66987d356031
Diffstat (limited to 'src/osmo-bts-sysmo/l1_if.c')
1 files changed, 1 insertions, 8 deletions
diff --git a/src/osmo-bts-sysmo/l1_if.c b/src/osmo-bts-sysmo/l1_if.c
index 05805b89..72d64ead 100644
--- a/src/osmo-bts-sysmo/l1_if.c
+++ b/src/osmo-bts-sysmo/l1_if.c
@@ -918,7 +918,6 @@ static int handle_ph_data_ind(struct femtol1_hdl *fl1, GsmL1_PhDataInd_t *data_i
struct msgb *l1p_msg)
struct gsm_bts_trx *trx = femtol1_hdl_trx(fl1);
- struct gsm_bts_role_bts *btsb = bts_role_bts(trx->bts);
uint8_t chan_nr, link_id;
struct msgb *sap_msg;
struct osmo_phsap_prim *l1sap;
@@ -938,12 +937,6 @@ static int handle_ph_data_ind(struct femtol1_hdl *fl1, GsmL1_PhDataInd_t *data_i
process_meas_res(trx, chan_nr, &data_ind->measParam);
- if (data_ind->measParam.fLinkQuality < btsb->min_qual_norm
- && data_ind->msgUnitParam.u8Size != 0) {
- msgb_free(l1p_msg);
- return 0;
- }
DEBUGP(DL1P, "Rx PH-DATA.ind %s (hL2 %08x): %s",
get_value_string(femtobts_l1sapi_names, data_ind->sapi),
@@ -969,7 +962,7 @@ static int handle_ph_data_ind(struct femtol1_hdl *fl1, GsmL1_PhDataInd_t *data_i
l1sap->u.data.chan_nr = chan_nr;
l1sap->u.data.fn = fn;
l1sap->u.data.rssi = (int8_t) (data_ind->measParam.fRssi);
- if (!pcu_direct) {
+ if (!pcu_direct) { /* FIXME: if pcu_direct=1, then this is not set, what to do in pcu_tx_data_ind() in this case ?*/
l1sap->u.data.ber10k = data_ind->measParam.fBer * 10000;
l1sap->u.data.ta_offs_qbits = data_ind->measParam.i16BurstTiming;
l1sap->u.data.lqual_cb = data_ind->measParam.fLinkQuality * 10;