From fdc64f680679accb60f295f0c1712076877bd016 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Mon, 8 Feb 2010 20:14:53 +0100 Subject: [bsc_msc_ip] Fix the re-queuing of packets... * The MSC is sending us the next 04.08 packet before we have received the answer for the cipher model complete. The code was supposed to copy all packets from the current queue, to a new queue and then send the packets again. * This would (re)establish the different SAPIs. Now the requeuing code was grabbing the packet from the empty queue (NULL pointer) and we were dereferencing it. It appears that we need to use "head" until the queue is empty. --- openbsc/src/bssap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'openbsc/src') diff --git a/openbsc/src/bssap.c b/openbsc/src/bssap.c index 3a966f23f..3a283666c 100644 --- a/openbsc/src/bssap.c +++ b/openbsc/src/bssap.c @@ -1260,7 +1260,7 @@ void bts_unblock_queue(struct bss_sccp_connection_data *data) /* now queue them again to send RSL establish and such */ while (!llist_empty(&head)) { - msg = msgb_dequeue(&data->gsm_queue); + msg = msgb_dequeue(&head); bts_queue_send(msg, (int) msg->smsh); } } -- cgit v1.2.3