summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas.Eversberg <jolly@eversberg.eu>2010-09-26 17:02:36 +0000
committerAndreas.Eversberg <jolly@eversberg.eu>2010-09-26 17:02:36 +0000
commit88a578f6c93ac72bf1a95b48467651fa74953ecf (patch)
treec8958dc27236c42d463c193d6e473b6d7e6665ff
parent4ed601ae4e48e8d480c3e0f5e82160434e6a32c8 (diff)
[layer23] Minor fixes in lapdm.c
For single burst messages, the length is set from layer2 header.
-rw-r--r--src/host/layer23/src/common/lapdm.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/host/layer23/src/common/lapdm.c b/src/host/layer23/src/common/lapdm.c
index 95c9ca50..c736e36a 100644
--- a/src/host/layer23/src/common/lapdm.c
+++ b/src/host/layer23/src/common/lapdm.c
@@ -1376,6 +1376,8 @@ static int lapdm_rx_i(struct msgb *msg, struct lapdm_msg_ctx *mctx)
/* send a DATA INDICATION to L3 */
msg->l3h = msg->l2h + 3;
msgb_pull_l2h(msg);
+ msg->len = length;
+ msg->tail = msg->data + length;
rc = send_rslms_rll_l3(RSL_MT_DATA_IND, mctx, msg);
} else {
/* create rcv_buffer */
@@ -1397,13 +1399,13 @@ static int lapdm_rx_i(struct msgb *msg, struct lapdm_msg_ctx *mctx)
/* if the last segment was received */
if (!(msg->l2h[2] & LAPDm_MORE)) {
LOGP(DLAPDM, LOGL_INFO, "message in multiple I "
- "frames (next message)\n");
+ "frames (last message)\n");
rc = send_rslms_rll_l3(RSL_MT_DATA_IND, mctx,
dl->rcv_buffer);
dl->rcv_buffer = NULL;
} else
LOGP(DLAPDM, LOGL_INFO, "message in multiple I "
- "frames (last message)\n");
+ "frames (next message)\n");
msgb_free(msg);
}