aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHolger Freyther <zecke@selfish.org>2009-06-02 02:55:17 +0000
committerHolger Freyther <zecke@selfish.org>2009-06-02 02:55:17 +0000
commitf7b2a0ec7f35244850fcd02755f87b4e91d46206 (patch)
treed20bc987387d5b079e87be931da3df62d237312c /src
parent4f584c3d4b2ec3b9770880899b94d1683d5ce2ee (diff)
[rsl] Change logging of handling reason 0x18 in rsl_rx_conn_fail (Andreas Eversberg)
Release the channel when it is not used, otherwise claim it is still in use...
Diffstat (limited to 'src')
-rw-r--r--src/abis_rsl.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/abis_rsl.c b/src/abis_rsl.c
index d9a39b8b4..fcadcb8b7 100644
--- a/src/abis_rsl.c
+++ b/src/abis_rsl.c
@@ -680,12 +680,14 @@ static int rsl_rx_conn_fail(struct msgb *msg)
if (TLVP_PRESENT(&tp, RSL_IE_CAUSE) &&
TLVP_LEN(&tp, RSL_IE_CAUSE) >= 1 &&
*TLVP_VAL(&tp, RSL_IE_CAUSE) == 0x18) {
- DEBUGPC(DRSL, "IGNORING\n");
- return 0;
+ if (msg->lchan->use_count > 0) {
+ DEBUGPC(DRSL, "Cause 0x18 IGNORING, lchan in use! (%d times)\n", msg->lchan->use_count);
+ return 0;
+ }
}
}
- DEBUGPC(DRSL, "\n");
+ DEBUGPC(DRSL, "RELEASING.\n");
/* FIXME: only free it after channel release ACK */
return rsl_chan_release(msg->lchan);