diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-07-01 12:27:30 +0200 |
---|---|---|
committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-07-07 10:03:29 +0200 |
commit | 9ae282372c9b3e10050244b8a1c9179122556175 (patch) | |
tree | 9059b0a272f9e46d48175bd79263adfe37e51805 /src | |
parent | ed46afda6f647e47702379abacf632e7dcc9ee5b (diff) |
alloc: Set minimum slot capacity to 1
Currently the capacity of a PDCH slot is calculated as 32 - N_reserved
for each direction. This can result in a capacity of 0 and even
negative values.
This commit forces the capacity of an usable slot to be at least zero
under the assumption, that an overly reserved PDCH is still better
than none.
Sponsored-by: On-Waves ehf
Diffstat (limited to 'src')
-rw-r--r-- | src/gprs_rlcmac_ts_alloc.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index 0085f819..bfc8c31e 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -546,11 +546,13 @@ static int find_multi_slots(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *pdch = &trx->pdch[ts]; if (rx_window & (1 << ts)) { c = 32 - pdch->num_reserved(GPRS_RLCMAC_DL_TBF); + c = OSMO_MAX(c, 1); capacity += c; } /* Only consider common slots for UL */ if (tx_window & rx_window & (1 << ts)) { c = 32 - pdch->num_reserved(GPRS_RLCMAC_UL_TBF); + c = OSMO_MAX(c, 1); capacity += c; } } |