alloc: Only use common UL slots when calculating the capacity
Currently al possible UL slots are included in the capacity
calculation which is the base of the slot selection. Nevertheless
UL-only slots will never be used, since only one uplink slot (which
must be a common slot) will be used.
This patch changes the code to only include common slots in the
capacity sum.
Note that this might not be optimal if algorithm B supported
multiple uplink slots.
Sponsored-by: On-Waves ehf
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp
index 0169d49..0085f81 100644
--- a/src/gprs_rlcmac_ts_alloc.cpp
+++ b/src/gprs_rlcmac_ts_alloc.cpp
@@ -548,7 +548,8 @@
c = 32 - pdch->num_reserved(GPRS_RLCMAC_DL_TBF);
capacity += c;
}
- if (tx_window & (1 << ts)) {
+ /* Only consider common slots for UL */
+ if (tx_window & rx_window & (1 << ts)) {
c = 32 - pdch->num_reserved(GPRS_RLCMAC_UL_TBF);
capacity += c;
}