aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-02-28 19:41:43 +0100
committerHarald Welte <laforge@gnumonks.org>2018-02-28 22:06:56 +0100
commitd5988d27e95ec34e2ec5d67473338ff3cc9b1853 (patch)
treeff3c506febe1cd21e305fe4313a64ce090196477
parent0be82004550a4296ca78c8d718b215d424989be2 (diff)
pcu_sock: LOG + drop DATA.req from PCU for non-PDCH timeslot
-rw-r--r--src/common/pcu_sock.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c
index 0d1f07af..cd8e0b28 100644
--- a/src/common/pcu_sock.c
+++ b/src/common/pcu_sock.c
@@ -528,6 +528,12 @@ static int pcu_rx_data_req(struct gsm_bts *bts, uint8_t msg_type,
break;
}
ts = &trx->ts[data_req->ts_nr];
+ if (!ts_should_be_pdch(ts)) {
+ LOGP(DPCU, LOGL_ERROR, "%s: Received PCU DATA request for non-PDCH TS\n",
+ gsm_ts_name(ts));
+ rc = -EINVAL;
+ break;
+ }
is_ptcch = (data_req->sapi == PCU_IF_SAPI_PTCCH);
rc = l1sap_pdch_req(ts, is_ptcch, data_req->fn, data_req->arfcn,
data_req->block_nr, data_req->data, data_req->len);