From 59dc70462b1a92eb329e4994c056076167ce99bb Mon Sep 17 00:00:00 2001 From: Ivan Kluchnikov Date: Tue, 29 Dec 2015 19:22:20 +0300 Subject: sms: In case of receiving MO RP-DATA, we should assign RP message reference value to transaction variable --- openbsc/src/libmsc/gsm_04_11.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/openbsc/src/libmsc/gsm_04_11.c b/openbsc/src/libmsc/gsm_04_11.c index 2dd487132..62b968da9 100644 --- a/openbsc/src/libmsc/gsm_04_11.c +++ b/openbsc/src/libmsc/gsm_04_11.c @@ -555,16 +555,17 @@ static int gsm411_rx_rp_ud(struct msgb *msg, struct gsm_trans *trans, if (trans->net->sms_client) { osmo_counter_inc(trans->conn->bts->network->stats.sms.submitted); + trans->msg_ref = rph->msg_ref; return subscr_tx_sms_message(trans->subscr, rph); - } else { - rc = gsm340_rx_tpdu(trans->conn, msg); - if (rc == 0) - return gsm411_send_rp_ack(trans, rph->msg_ref); - else if (rc > 0) - return gsm411_send_rp_error(trans, rph->msg_ref, rc); - else - return rc; } + + rc = gsm340_rx_tpdu(trans->conn, msg); + if (rc == 0) + return gsm411_send_rp_ack(trans, rph->msg_ref); + else if (rc > 0) + return gsm411_send_rp_error(trans, rph->msg_ref, rc); + else + return rc; } /* Receive a 04.11 RP-DATA message in accordance with Section 7.3.1.2 */ -- cgit v1.2.3