From 3e5f08181cedd46e1f7ad82fd7cd63b1b18ef9af Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Thu, 29 Oct 2020 01:56:44 +0100 Subject: add fixme comment for OS#3833 Change-Id: I103d968ffc5e362133fbf017493259048f37e607 --- src/osmo-bsc/assignment_fsm.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/osmo-bsc') diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index fde028ed9..7db37b2b6 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -492,6 +492,11 @@ void assignment_fsm_start(struct gsm_subscriber_connection *conn, struct gsm_bts for (i = 0; i < req->n_ch_mode_rate; i++) { conn->assignment.new_lchan = lchan_select_by_chan_mode(bts, req->ch_mode_rate[i].chan_mode, req->ch_mode_rate[i].chan_rate); + /* FIXME: at this point there is merely an assignment request with a given ch_mode_rate. Writing this to + * conn->lchan->ch_mode_rate is a violation of scopes: the lchan->* state should only be modified + * *after* the assignment is confirmed to be completed. Before that, this data should live in + * conn->assignment or the lchan_activate_info, the designated places for not-yet-confirmed data. See + * OS#3833 */ conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; if (conn->assignment.new_lchan) break; -- cgit v1.2.3