diff options
-rw-r--r-- | src/osmo-bsc/abis_om2000.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index 8ee6371c0..16320fc07 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -3042,17 +3042,18 @@ int abis_om2k_rcvmsg(struct msgb *msg) if (!mo) { LOGP(DNM, LOGL_ERROR, "Couldn't resolve MO for OM2K msg " "%s: %s\n", get_value_string(om2k_msgcode_vals, msg_type), msgb_hexdump(msg)); - return 0; + goto no_mo; } if (!mo->fsm) { LOGP(DNM, LOGL_ERROR, "MO object should not generate any message. fsm == NULL " "%s: %s\n", get_value_string(om2k_msgcode_vals, msg_type), msgb_hexdump(msg)); - return 0; + goto no_mo; } /* Dispatch message to that MO */ om2k_mo_fsm_recvmsg(bts, mo, &odm); +no_mo: msgb_free(msg); return rc; } |