diff options
-rw-r--r-- | src/rlc.cpp | 2 | ||||
-rw-r--r-- | tests/types/TypesTest.cpp | 5 |
2 files changed, 3 insertions, 4 deletions
diff --git a/src/rlc.cpp b/src/rlc.cpp index e69d1fce..ee2635aa 100644 --- a/src/rlc.cpp +++ b/src/rlc.cpp @@ -227,7 +227,7 @@ void gprs_rlc_ul_window::update_rbb(char *rbb) { int i; for (i=0; i < ws(); i++) { - if (m_v_n.is_received(ssn()-1-i)) + if (m_v_n.is_received((ssn()-1-i) & mod_sns())) rbb[ws()-1-i] = 'R'; else rbb[ws()-1-i] = 'I'; diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index c5654f6d..8b3cfd1c 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -325,10 +325,9 @@ static void test_rlc_dl_ul_basic() /* * SSN wrap around case - * TODO: Should not expect any BSN as nacked. - * should be fixed in subsequent patch + * Should not expect any BSN as nacked. */ - rbb = "IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIRR"; + rbb = "RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"; for (int i = 0; i < 128; ++i) { ul_win.receive_bsn(i); ul_win.raise_v_q(); |