lchan: rf release: make sure conn is NULL
lchan_fsm_wait_rf_release_ack_onenter() calls gscon_forget_lchan(). At the point where the conn has no lchan, the lchan must not have a conn. Make sure that conn is NULL after gscon_forget_lchan(). I hope this fixes OS#3686, it is the only situation I could find where the disassociation is potentially one-sided. I get the feeling that this should be hardcoded in gscon_forget_lchan(), but I dimly remember other situations that are less trivial, where it doesn't necessarily make sense to forget reciprocically. So only fixing this one now. Related: OS#3686 Change-Id: If0c6e495e419b9dbb44443c3fc3f54dd4b714aa5
This commit is contained in:
parent
fc9449c688
commit
64b092e855
|
@ -1005,8 +1005,10 @@ static void lchan_fsm_wait_rf_release_ack_onenter(struct osmo_fsm_inst *fi, uint
|
|||
/* 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)
|
||||
if (lchan->conn) {
|
||||
gscon_forget_lchan(lchan->conn, lchan);
|
||||
lchan_forget_conn(lchan);
|
||||
}
|
||||
|
||||
rc = rsl_tx_rf_chan_release(lchan);
|
||||
if (rc)
|
||||
|
|
Loading…
Reference in New Issue