aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libmsc/gsm_04_11.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/src/libmsc/gsm_04_11.c')
-rw-r--r--openbsc/src/libmsc/gsm_04_11.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/openbsc/src/libmsc/gsm_04_11.c b/openbsc/src/libmsc/gsm_04_11.c
index 19b6030c5..cc93ae63f 100644
--- a/openbsc/src/libmsc/gsm_04_11.c
+++ b/openbsc/src/libmsc/gsm_04_11.c
@@ -988,6 +988,7 @@ void gsm411_sapi_n_reject(struct gsm_subscriber_connection *conn)
net = conn->bts->network;
+restart:
llist_for_each_entry_safe(trans, tmp, &net->trans_list, entry)
if (trans->conn == conn) {
struct gsm_sms *sms = trans->sms.sms;
@@ -1001,6 +1002,7 @@ void gsm411_sapi_n_reject(struct gsm_subscriber_connection *conn)
sms_free(sms);
trans->sms.sms = NULL;
trans_free(trans);
+ goto restart;
}
}