diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-02-08 20:14:53 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-02-08 20:14:53 +0100 |
commit | fdc64f680679accb60f295f0c1712076877bd016 (patch) | |
tree | 2572d4221daf34e27425ded84b38df68568d2f04 | |
parent | ab46372e2a2b381856cf6e6848497ce9f3b0ad2e (diff) |
[bsc_msc_ip] Fix the re-queuing of packets...on-waves/0.3.1
* 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.
-rw-r--r-- | openbsc/configure.in | 2 | ||||
-rw-r--r-- | openbsc/src/bssap.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/openbsc/configure.in b/openbsc/configure.in index e6f525b07..f44561d68 100644 --- a/openbsc/configure.in +++ b/openbsc/configure.in @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script AC_INIT -AM_INIT_AUTOMAKE(openbsc, 0.3onwaves) +AM_INIT_AUTOMAKE(openbsc, 0.3.1onwaves) dnl kernel style compile messages m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) 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); } } |