summaryrefslogtreecommitdiffstats
path: root/src/host/layer23/src
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2023-09-11 15:03:23 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2023-09-28 10:42:51 +0200
commit699a3a397862ae68054c7d1cbffcb6ce80842db5 (patch)
tree2daa803d847c3ae31843961104f2679857412635 /src/host/layer23/src
parentc9f90c4d5aa236f0cf1922d32d296292d1b30506 (diff)
Fix unset sapi in gsm48_rr_data_ind()
The gsm48_rr_hdr is pushed into the message before sending data to MM layer. SAPI was not set in this header. Change-Id: I8345a562050d52d491f3b7192c979d455a63931c
Diffstat (limited to 'src/host/layer23/src')
-rw-r--r--src/host/layer23/src/mobile/gsm48_rr.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/host/layer23/src/mobile/gsm48_rr.c b/src/host/layer23/src/mobile/gsm48_rr.c
index 0815777a..df762d8e 100644
--- a/src/host/layer23/src/mobile/gsm48_rr.c
+++ b/src/host/layer23/src/mobile/gsm48_rr.c
@@ -4727,6 +4727,8 @@ static int gsm48_rr_data_req(struct osmocom_ms *ms, struct msgb *msg)
/* 3.4.2 data from layer 2 to RR and upper layer*/
static int gsm48_rr_data_ind(struct osmocom_ms *ms, struct msgb *msg)
{
+ struct abis_rsl_rll_hdr *rllh = msgb_l2(msg);
+ uint8_t sapi = rllh->link_id & 7;
struct gsm48_hdr *gh = msgb_l3(msg);
struct gsm48_rr_hdr *rrh;
uint8_t pdisc = gh->proto_discr & 0x0f;
@@ -4792,6 +4794,7 @@ static int gsm48_rr_data_ind(struct osmocom_ms *ms, struct msgb *msg)
msgb_push(msg, sizeof(struct gsm48_rr_hdr));
rrh = (struct gsm48_rr_hdr *)msg->data;
rrh->msg_type = GSM48_RR_DATA_IND;
+ rrh->sapi = sapi;
return gsm48_rr_upmsg(ms, msg);
}