aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/bsc_sccp.h1
-rw-r--r--src/sccp_state.c10
2 files changed, 9 insertions, 2 deletions
diff --git a/include/bsc_sccp.h b/include/bsc_sccp.h
index 76e4437..6b4f6c4 100644
--- a/include/bsc_sccp.h
+++ b/include/bsc_sccp.h
@@ -57,7 +57,6 @@ struct active_sccp_con {
/* Link to the SS7 Application */
struct ss7_application *app;
- struct mtp_link_set *link;
/* sls id */
int sls;
diff --git a/src/sccp_state.c b/src/sccp_state.c
index 47d117f..f182a1f 100644
--- a/src/sccp_state.c
+++ b/src/sccp_state.c
@@ -476,6 +476,7 @@ static void send_local_rlsd_for_con(void *data)
{
struct msgb *rlsd;
struct active_sccp_con *con = (struct active_sccp_con *) data;
+ struct mtp_link_set *set;
/* try again in three seconds */
con->rlc_timeout.data = con;
@@ -488,9 +489,16 @@ static void send_local_rlsd_for_con(void *data)
return;
++con->rls_tries;
+
+ set = con->app->route_src.set;
+ if (!set) {
+ LOGP(DINP, LOGL_DEBUG, "Application %d has no linkset\n", con->app->nr);
+ return;
+ }
+
LOGP(DINP, LOGL_DEBUG, "Sending RLSD for 0x%x the %d time.\n",
sccp_src_ref_to_int(&con->src_ref), con->rls_tries);
- mtp_link_set_submit_sccp_data(con->link, con->sls, rlsd->l2h, msgb_l2len(rlsd));
+ mtp_link_set_submit_sccp_data(set, con->sls, rlsd->l2h, msgb_l2len(rlsd));
msgb_free(rlsd);
}