summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2009-07-04 09:40:05 +0200
committerHarald Welte <laforge@gnumonks.org>2009-07-04 09:40:05 +0200
commit81543bcdd21f03b8a5aff9a19b6406439f27c6fe (patch)
treea137d27f6203116a7689f5f97a85d3a6c333c802
parent1a5c6bd88c62a31c55cece38debc4b7525b5cd95 (diff)
release channel on ERROR INDICATION
This was proposed by Andreas Eversberg. I made it conditional on the T200 timer expired cause, as I'm not sure if we really should give up that quickly on other errors such as just simply receiving an unsolicited response.
-rw-r--r--openbsc/src/abis_rsl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/openbsc/src/abis_rsl.c b/openbsc/src/abis_rsl.c
index c2ef9e5cf..b1c15c02b 100644
--- a/openbsc/src/abis_rsl.c
+++ b/openbsc/src/abis_rsl.c
@@ -1106,6 +1106,9 @@ static int rsl_rx_rll_err_ind(struct msgb *msg)
DEBUGPC(DRLL, "cause=0x%02x", rlm_cause[1]);
+ if (rlm_cause[1] == RLL_CAUSE_T200_EXPIRED)
+ return rsl_chan_release(msg->lchan);
+
return 0;
}