aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
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 /openbsc
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.
Diffstat (limited to 'openbsc')
-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 c2ef9e5c..b1c15c02 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;
}