fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/34705?usp=email )
Change subject: Provide create_conn_and_push_mm_hdr() with correct SAPI ...................................................................... Provide create_conn_and_push_mm_hdr() with correct SAPI Change-Id: I454178f45aed49417f8cd7744155be66b9ac509f Fixes: 00507bdc "Cleaning gsm48_mm_data_ind()" Related: OS#6216 --- M src/host/layer23/src/mobile/gsm48_mm.c 1 file changed, 20 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/05/34705/1 diff --git a/src/host/layer23/src/mobile/gsm48_mm.c b/src/host/layer23/src/mobile/gsm48_mm.c index bcd2c64..995c5d1 100644 --- a/src/host/layer23/src/mobile/gsm48_mm.c +++ b/src/host/layer23/src/mobile/gsm48_mm.c @@ -4632,10 +4632,9 @@ #define MMDATASLLEN \ (sizeof(mmdatastatelist) / sizeof(struct mmdatastate)) -static int create_conn_and_push_mm_hdr(struct gsm48_mmlayer *mm, struct msgb *msg, int rr_est, int rr_prim) +static int create_conn_and_push_mm_hdr(struct gsm48_mmlayer *mm, struct msgb *msg, int rr_est, int rr_prim, + uint8_t sapi) { - struct gsm48_rr_hdr *rrh = (struct gsm48_rr_hdr *)msg->data; - uint8_t sapi = rrh->sapi; struct gsm48_hdr *gh = msgb_l3(msg); uint8_t pdisc = gh->proto_discr & 0x0f; uint8_t transaction_id; @@ -4694,6 +4693,8 @@ static int gsm48_mm_data_ind(struct osmocom_ms *ms, struct msgb *msg) { struct gsm48_mmlayer *mm = &ms->mmlayer; + struct gsm48_rr_hdr *rrh = (struct gsm48_rr_hdr *)msg->data; + uint8_t sapi = rrh->sapi; struct gsm48_hdr *gh = msgb_l3(msg); uint8_t pdisc = gh->proto_discr & 0x0f; uint8_t msg_type = gh->msg_type & 0xbf; @@ -4729,34 +4730,34 @@ break; /* follow the selection procedure below */ case GSM48_PDISC_CC: - rc = create_conn_and_push_mm_hdr(mm, msg, GSM48_MMCC_EST_IND, GSM48_MMCC_DATA_IND); + rc = create_conn_and_push_mm_hdr(mm, msg, GSM48_MMCC_EST_IND, GSM48_MMCC_DATA_IND, sapi); if (rc == 0) rc = gsm48_rcv_cc(ms, msg); msgb_free(msg); return rc; case GSM48_PDISC_NC_SS: - rc = create_conn_and_push_mm_hdr(mm, msg, GSM48_MMSS_EST_IND, GSM48_MMSS_DATA_IND); + rc = create_conn_and_push_mm_hdr(mm, msg, GSM48_MMSS_EST_IND, GSM48_MMSS_DATA_IND, sapi); if (rc == 0) rc = gsm480_rcv_ss(ms, msg); msgb_free(msg); return rc; case GSM48_PDISC_SMS: - rc = create_conn_and_push_mm_hdr(mm, msg, GSM48_MMSMS_EST_IND, GSM48_MMSMS_DATA_IND); + rc = create_conn_and_push_mm_hdr(mm, msg, GSM48_MMSMS_EST_IND, GSM48_MMSMS_DATA_IND, sapi); if (rc == 0) rc = gsm411_rcv_sms(ms, msg); msgb_free(msg); return rc; case GSM48_PDISC_GROUP_CC: - rc = create_conn_and_push_mm_hdr(mm, msg, -1, GSM48_MMGCC_DATA_IND); + rc = create_conn_and_push_mm_hdr(mm, msg, -1, GSM48_MMGCC_DATA_IND, sapi); if (rc == 0) rc = gsm44068_rcv_gcc_bcc(ms, msg); msgb_free(msg); return rc; case GSM48_PDISC_BCAST_CC: - rc = create_conn_and_push_mm_hdr(mm, msg, -1, GSM48_MMBCC_DATA_IND); + rc = create_conn_and_push_mm_hdr(mm, msg, -1, GSM48_MMBCC_DATA_IND, sapi); if (rc == 0) rc = gsm44068_rcv_gcc_bcc(ms, msg); msgb_free(msg); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/34705?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I454178f45aed49417f8cd7744155be66b9ac509f Gerrit-Change-Number: 34705 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanits...@sysmocom.de> Gerrit-CC: jolly <andr...@eversberg.eu> Gerrit-MessageType: newchange