aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <axilirator@gmail.com>2019-05-12 03:23:00 +0700
committerVadim Yanitskiy <axilirator@gmail.com>2019-05-12 04:17:45 +0700
commit6a689b2b5b9f99ff402487bc14e231e5adbc2bbe (patch)
treed87a27c0e9f4d02891b6b0bab488bb574e9f00cc
parentc11342ec4e089cf66b36d360203a1e9dd908a942 (diff)
libmsc/gsm_04_11.c: cosmetic: restructure gsm411_mm_send()
-rw-r--r--src/libmsc/gsm_04_11.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/libmsc/gsm_04_11.c b/src/libmsc/gsm_04_11.c
index cc9ce18f1..c5c30367c 100644
--- a/src/libmsc/gsm_04_11.c
+++ b/src/libmsc/gsm_04_11.c
@@ -216,22 +216,20 @@ static int gsm411_mm_send(struct gsm411_smc_inst *inst, int msg_type,
switch (msg_type) {
case GSM411_MMSMS_EST_REQ:
rc = gsm411_mmsms_est_req(trans);
- msgb_free(msg); /* upper layer does not free msg */
break;
case GSM411_MMSMS_DATA_REQ:
rc = gsm411_cp_sendmsg(msg, trans, cp_msg_type);
- break;
+ return rc; /* gsm411_cp_sendmsg() takes msg ownership */
case GSM411_MMSMS_REL_REQ:
LOG_TRANS(trans, LOGL_DEBUG, "Got MMSMS_REL_REQ, destroying transaction.\n");
- msgb_free(msg);
trans_free(trans);
break;
default:
LOG_TRANS(trans, LOGL_NOTICE, "Unhandled MMCCSMS msg 0x%x\n", msg_type);
- msgb_free(msg);
rc = -EINVAL;
}
+ msgb_free(msg);
return rc;
}