From d87e1d6ab747423d3668c74d16201a5d967accf0 Mon Sep 17 00:00:00 2001 From: Jacob Erlbeck Date: Mon, 14 Dec 2015 11:43:04 +0100 Subject: 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 --- src/tbf_ul.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/tbf_ul.cpp') diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index aa81b538..4a5f21f5 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -332,7 +332,8 @@ int gprs_rlcmac_ul_tbf::rcv_data_block_acknowledged_gprs(const uint8_t *data, * 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) { -- cgit v1.2.3