aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2011-06-25 14:47:57 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2011-08-25 23:18:02 +0200
commitaa54e2885794028f94e256397e3ee3a320955904 (patch)
tree1e6cfc1805cf2493af86b231d3daf9b7d4b929b7 /openbsc/src
parenta8a5ffa1dc9ab385bb99a85ac365dffec4d1708c (diff)
msc: Only kill connections belonging to the given MSC
When a MSC connection drops, only kill the connections that belong to the given MSC and not all other connections.
Diffstat (limited to 'openbsc/src')
-rw-r--r--openbsc/src/osmo-bsc/osmo_bsc_sccp.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_sccp.c b/openbsc/src/osmo-bsc/osmo_bsc_sccp.c
index d25275271..5c76a8ecc 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_sccp.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_sccp.c
@@ -269,8 +269,10 @@ static void bsc_close_connections(struct bsc_msc_connection *msc_con)
{
struct osmo_bsc_sccp_con *con, *tmp;
- llist_for_each_entry_safe(con, tmp, &active_connections, entry)
- bsc_sccp_force_free(con);
+ llist_for_each_entry_safe(con, tmp, &active_connections, entry) {
+ if (con->msc->msc_con == msc_con)
+ bsc_sccp_force_free(con);
+ }
}
static int handle_msc_signal(unsigned int subsys, unsigned int signal,