From 9a76968ec4f5983eb941dd02c70668f61d4a3b7b Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sun, 24 Nov 2013 17:35:37 +0100 Subject: rlc: Use uint16_t for the BSN in all cases. The sns is only 128 for GPRS (it can be bigger for EDGE) so the uint8_t was enough but it is bad to have inconsistencies for both of them. --- src/rlc.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rlc.cpp b/src/rlc.cpp index 816efff5..c4d43d3c 100644 --- a/src/rlc.cpp +++ b/src/rlc.cpp @@ -44,7 +44,7 @@ int gprs_rlc_v_b::resend_needed(const uint16_t v_a, const uint16_t v_s, const uint16_t mod_sns, const uint16_t mod_sns_half) { - for (uint8_t bsn = v_a; bsn != v_s; bsn = (bsn + 1) & mod_sns) { + for (uint16_t bsn = v_a; bsn != v_s; bsn = (bsn + 1) & mod_sns) { uint16_t index = bsn & mod_sns_half; if (is_nacked(index) || is_resend(index)) return bsn; @@ -59,7 +59,7 @@ int gprs_rlc_v_b::mark_for_resend(const uint16_t v_a, const uint16_t v_s, { int resend = 0; - for (uint8_t bsn = v_a; bsn != v_s; bsn = (bsn + 1) & mod_sns) { + for (uint16_t bsn = v_a; bsn != v_s; bsn = (bsn + 1) & mod_sns) { uint16_t index = (bsn & mod_sns_half); if (is_unacked(index)) { /* mark to be re-send */ -- cgit v1.2.3