aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bsc/abis_rsl.c
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2020-09-10 20:40:35 +0200
committerPhilipp Maier <pmaier@sysmocom.de>2020-09-11 14:38:54 +0200
commit1482ec481393f8812ab9672edf7cb8710dea39cc (patch)
tree3fea55075d1ef456ef9d268192a538aef600a207 /src/osmo-bsc/abis_rsl.c
parent27a887f666adb67450470d7240e25fce1d178c76 (diff)
abis_rsl.c: flush channel request queue on RSL bootstrap
When RSL link is bootstrapped the BSC should clear the channel request queue. Change-Id: Iefb333817033e8d376184b58d89b186d875b968f Related: OS#4549
Diffstat (limited to 'src/osmo-bsc/abis_rsl.c')
-rw-r--r--src/osmo-bsc/abis_rsl.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c
index 74cc760c5..c0907c0a8 100644
--- a/src/osmo-bsc/abis_rsl.c
+++ b/src/osmo-bsc/abis_rsl.c
@@ -1398,6 +1398,18 @@ static void reduce_rach_dos(struct gsm_bts *bts)
}
}
+/* Flush all channel requests pending on this BTS */
+void abis_rsl_chan_rqd_queue_flush(struct gsm_bts *bts)
+{
+ struct chan_rqd *rqd;
+ struct chan_rqd *rqd_tmp;
+
+ llist_for_each_entry_safe(rqd, rqd_tmp, &bts->chan_rqd_queue, entry) {
+ llist_del(&rqd->entry);
+ talloc_free(rqd);
+ }
+}
+
/* MS has requested a channel on the RACH */
static int rsl_rx_chan_rqd(struct msgb *msg)
{