aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-10-10 02:05:26 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2018-10-12 12:42:26 +0200
commit6fe125294b219a519c77f7140de26870d17bf40a (patch)
treec06f05cf56d3940de36f32be4d9416ea94ebae7c
parentcd46adb91544acb42b0339028b23a152af019b5a (diff)
lchan_fsm: notify conn of released lchan upon RF Release
-rw-r--r--src/osmo-bsc/lchan_fsm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c
index 9f2d6c382..39edaff6d 100644
--- a/src/osmo-bsc/lchan_fsm.c
+++ b/src/osmo-bsc/lchan_fsm.c
@@ -993,6 +993,13 @@ static void lchan_fsm_wait_rf_release_ack_onenter(struct osmo_fsm_inst *fi, uint
{
int rc;
struct gsm_lchan *lchan = lchan_fi_lchan(fi);
+
+ /* For planned releases, a conn has already forgotten about the lchan. And later on, in
+ * lchan_reset(), we make sure it does. But in case of releases from error handling, the
+ * conn might as well notice now already that its lchan is becoming unusable. */
+ if (lchan->conn)
+ gscon_forget_lchan(lchan->conn, lchan);
+
rc = rsl_tx_rf_chan_release(lchan);
if (rc)
LOG_LCHAN(lchan, LOGL_ERROR, "Failed to Tx RSL RF Channel Release: rc=%d %s\n",