aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2016-02-03 19:45:54 +0100
committerJacob Erlbeck <jerlbeck@sysmocom.de>2016-02-03 19:45:54 +0100
commite3e5769d70fe637da249d13569db47b19385de56 (patch)
tree86dc239f8e3f2bcd946dd98de1edf8e9d42ad645
parentad053d60d6dc4a5c1c6558a8a3ae0e066927a68a (diff)
FIXUP WIP: second BSN (TODO)
Ticket: OW#???? Sponsored-by: On-Waves ehf
-rw-r--r--src/tbf_dl.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index 6464db7e..ed9db22a 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -370,6 +370,9 @@ int gprs_rlcmac_dl_tbf::take_next_bsn(uint32_t fn,
}
if (bsn >= 0) {
+ if (previous_bsn == bsn)
+ return -1;
+
if (previous_bsn >= 0 &&
m_window.mod_sns(bsn - previous_bsn) > RLC_EGPRS_MAX_BSN_DELTA)
return -1;
@@ -449,7 +452,7 @@ struct msgb *gprs_rlcmac_dl_tbf::create_dl_acked_block(uint32_t fn, uint8_t ts)
if (bsn < 0)
return NULL;
- if (next_cs && next_cs.numDataBlocks() > 1)
+ if (next_cs.numDataBlocks() > 1)
bsn2 = take_next_bsn(fn, bsn, &next_cs);
return create_dl_acked_block(fn, ts, bsn, bsn2);