rlc: Do not raise_v_q in receive_bsn
Currently gprs_rlc_ul_window::receive_bsn calls raise_v_q and returns
the number of RLC data blocks that can be taken from the queue. This
does not fit the EGPRS feature to put 2 independant data blocks in a
single RLC block.
This commit removes raise_v_q from receive_bsn, hence it must be
called explicitely to get the number of processable data blocks.
Sponsored-by: On-Waves ehf
diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp
index aa81b53..4a5f21f 100644
--- a/src/tbf_ul.cpp
+++ b/src/tbf_ul.cpp
@@ -332,7 +332,8 @@
* the window is empty.*/
const uint16_t v_q_beg = m_window.v_q();
- const uint16_t count = m_window.receive_bsn(rh->bsn);
+ m_window.receive_bsn(rh->bsn);
+ const uint16_t count = m_window.raise_v_q();
/* Retrieve LLC frames from blocks that are ready */
for (uint16_t i = 0; i < count; ++i) {