From 80ba9b5dd62cc8bfd10dae2f3b63420ef1e8452d Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Fri, 27 Dec 2013 15:26:42 +0100 Subject: gsm_04_11: Speculative fix for MT SMS and SAPI 'n Reject I am not sure why it is crashing so this is a speculative fix based on something we already did in 3e9b2ec257bc064b866ce6a2735206dc6131f615. #0 sms_find_pending (smsq=0x2706300, sms=) at sms_queue.c:77 #1 sms_sms_cb (subsys=, signal=4, handler_data=0x26e2270, signal_data=0x7fffdac256c0) at sms_queue.c:396 #2 0x00007fcdea94394c in osmo_signal_dispatch (subsys=1, signal=4, signal_data=0x7fffdac256c0) at signal.c:105 #3 0x000000000042acc0 in send_signal (sig_no=, trans=, sms=, paging_result=) at gsm_04_11.c:124 #4 0x000000000042c8e2 in gsm411_sapi_n_reject (conn=0x2722d30) at gsm_04_11.c:999 #5 0x00000000004085d3 in send_sapi_reject (link_id=, conn=) at bsc_api.c:733 #6 rll_ind_cb (_data=, lchan=, link_id=, rllr_ind=) at bsc_api.c:755 #7 rll_ind_cb (lchan=, link_id=, _data=, rllr_ind=) at bsc_api.c:736 #8 0x000000000041f522 in complete_rllr (rllr=, type=) at bsc_rll.c:55 #9 0x00007fcdea9433bc in osmo_timers_update () at timer.c:243 #10 0x00007fcdea94369b in osmo_select_main (polling=0) at select.c:133 #11 0x0000000000406fbc in main (argc=9, argv=) at bsc_hack.c:346 --- openbsc/src/libmsc/gsm_04_11.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'openbsc/src/libmsc/gsm_04_11.c') 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; } } -- cgit v1.2.3