diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-07-02 12:04:20 +0200 |
---|---|---|
committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-07-03 15:53:15 +0200 |
commit | 4944c195d4a71f4aa5d9a3274907fa0bfed0e6ce (patch) | |
tree | 24c1e411d153ff44d93332f9957e588f13f3f864 /src | |
parent | 5cd496d2083bef03d9f2425cabec9ec51c8e9254 (diff) |
tbf: Set ms in call to tbf_alloc_dl_tbf
The call to tbf_alloc_dl_tbf misses the pointer to the GprsMs object
which is already known in that case (tbf_reuse). This leads to a full
reallocation of the PDCH slots, which is possibly incompatible with
the old set of slots. This can result in hanging TCP connections and
TCP connection failures.
This commit replaces the old NULL value by the actual GprsMs object.
Since the set_ms() is also done within the tbf_alloc_dl_tbf method,
that call is removed.
Sponsored-by: On-Waves ehf
Diffstat (limited to 'src')
-rw-r--r-- | src/tbf_dl.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 771b35b8..f3072889 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -850,7 +850,7 @@ void gprs_rlcmac_dl_tbf::reuse_tbf() tfi = bts->tfi_find_free(GPRS_RLCMAC_DL_TBF, &trx, this->trx->trx_no); if (tfi >= 0) - new_tbf = tbf_alloc_dl_tbf(bts->bts_data(), NULL, tfi, trx, + new_tbf = tbf_alloc_dl_tbf(bts->bts_data(), ms(), tfi, trx, ms_class(), 0); if (!new_tbf) { @@ -858,8 +858,6 @@ void gprs_rlcmac_dl_tbf::reuse_tbf() return; } - new_tbf->set_ms(ms()); - /* reset rlc states */ m_tx_counter = 0; m_wait_confirm = 0; |