tbf: Don't use 'old' DL TBFs after reuse_tbf
Currently two DL TBF objects with the same TLLI exist after reuse_tbf
which make the result of tbf_by_tlli undefined. This leads to several
DL TBFs belonging to the same TLLI.
This commit extends tbf_by_tlli to check the m_tlli_valid flag for
DL, too. That flag is set to 0 in reuse_tbf to mark the 'old' DL TBF
as invalid after its LLC data has been copied to the new one.
Sponsored-by: On-Waves ehf
diff --git a/src/bts.cpp b/src/bts.cpp
index b660014..6100248 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -243,7 +243,7 @@
} else {
llist_pods_for_each_entry(tbf, &m_bts.dl_tbfs, list, lpods) {
if (tbf->state_is_not(GPRS_RLCMAC_RELEASING)
- && tbf->tlli() == tlli)
+ && tbf->tlli() == tlli && tbf->is_tlli_valid())
return tbf;
}
}