[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.
This commit is contained in:
Holger Hans Peter Freyther 2010-02-08 20:14:53 +01:00
parent ab46372e2a
commit fdc64f6806
2 changed files with 2 additions and 2 deletions

View File

@ -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])])

View File

@ -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);
}
}