aboutsummaryrefslogtreecommitdiffstats
path: root/src/mslot_class.c
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2018-02-05 16:11:36 +0100
committerMax <msuraev@sysmocom.de>2018-02-20 10:19:25 +0100
commitc5407c775adf176b127244f6c94ad189b39c2fc7 (patch)
tree5e4d3b7b91473b5f3a32d22042d4a3e37299c4f0 /src/mslot_class.c
parent6dc90b8c86768a9b1beb429c610dcbae6488e21c (diff)
Simplify TS alloc: don't use PDCH for free TFI
Don't use PDCH from free TFI lookup routine. This allows for simpler function which can be moved to mslot_class.c alongside with other similar helpers. Change-Id: Ie154866900453d232a890f7b9a30911b451525a1 Related: OS#2282
Diffstat (limited to 'src/mslot_class.c')
-rw-r--r--src/mslot_class.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mslot_class.c b/src/mslot_class.c
index 6a7e25b7..d49d4119 100644
--- a/src/mslot_class.c
+++ b/src/mslot_class.c
@@ -229,6 +229,22 @@ int8_t find_free_usf(uint8_t usf_map)
return -1;
}
+/* look for USF, don't use USF=7 */
+int8_t find_free_tfi(uint32_t tfi_map)
+{
+ int8_t tfi;
+
+ if (tfi_map == NO_FREE_TFI)
+ return -1;
+
+ for (tfi = 0; tfi < 32; tfi++) {
+ if (!(tfi_map & (1 << tfi)))
+ return tfi;
+ }
+
+ return -1;
+}
+
void masked_override_with(char *buf, uint8_t mask, char set_char)
{
int i;