diff options
Diffstat (limited to 'src/tbf_ul.cpp')
-rw-r--r-- | src/tbf_ul.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 7e0732c8..f67ffd77 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -67,14 +67,18 @@ int gprs_rlcmac_ul_tbf::assemble_forward_llc(const gprs_rlc_data *_data) for (i = 0; i < num_frames; i++) { frame = frames + i; - bts->rlc_ul_payload_bytes(frame->length); + if (frame->length) { + bts->rlc_ul_payload_bytes(frame->length); - LOGP(DRLCMACUL, LOGL_DEBUG, "-- Frame %d starts at offset %d, " - "length=%d, is_complete=%d\n", - i + 1, frame->offset, frame->length, frame->is_complete); + LOGP(DRLCMACUL, LOGL_DEBUG, "-- Frame %d " + "starts at offset %d, " + "length=%d, is_complete=%d\n", + i + 1, frame->offset, frame->length, + frame->is_complete); - m_llc.append_frame(data + frame->offset, frame->length); - m_llc.consume(frame->length); + m_llc.append_frame(data + frame->offset, frame->length); + m_llc.consume(frame->length); + } if (frame->is_complete) { /* send frame to SGSN */ |