diff options
Diffstat (limited to 'openbsc/src/libmsc')
-rw-r--r-- | openbsc/src/libmsc/gsm_04_11.c | 2 |
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; } } |