aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2016-02-04 12:21:32 +0100
committerJacob Erlbeck <jerlbeck@sysmocom.de>2016-02-04 12:21:32 +0100
commit08fa5b699c00fbd2f85e9119ae79a465dcb4d21c (patch)
tree463d4293fbe17b29dc9032ef3d10384932737c19
parentb58848891c29d87db279da75bfbe0d68d31e12a4 (diff)
EXP copy single fields
Ticket: OW#???? Sponsored-by: On-Waves ehf
-rw-r--r--src/tbf_dl.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index 7011a6d..0a23de4 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -632,7 +632,7 @@ struct msgb *gprs_rlcmac_dl_tbf::create_dl_acked_block(
int bsn;
GprsCodingScheme cs_enc;
uint8_t *block_data;
- gprs_rlc_data_block_info *rdbi;
+ gprs_rlc_data_block_info *rdbi, *block_info;
/* Check if there are more blocks than BSNs */
if (data_block_idx < num_bsns)
@@ -649,10 +649,14 @@ struct msgb *gprs_rlcmac_dl_tbf::create_dl_acked_block(
punct[data_block_idx] = data_block_idx;
rdbi = &rlc.block_info[data_block_idx];
+ block_info = &m_rlc.block(bsn)->block_info;
+
OSMO_ASSERT(data_block_idx < ARRAY_SIZE(rlc.block_info));
OSMO_ASSERT(rdbi->data_len == m_rlc.block(bsn)->block_info.data_len);
OSMO_ASSERT(sizeof(*rdbi) == sizeof(m_rlc.block(bsn)->block_info));
- rlc.block_info[data_block_idx] = m_rlc.block(bsn)->block_info;
+ rdbi->e = block_info->e;
+ rdbi->cv = block_info->cv;
+ rdbi->bsn = bsn;
is_final = is_final || rdbi->cv == 0;
LOGP(DRLCMACDL, LOGL_DEBUG, "- Copying data unit %d (BSN %d)\n",