Assignment Request modifies conn->codec_list before the Assignment is successful
In osmo-bsc, all transient state around Assignment should live in conn->assignment.*
and only become definitive valid conn->* items upon a successful Assignment;
if Assignment fails, conn->* should remain unaffected.
In current master, I notice that this item does not heed this separation properly:
bssmap_handle_assignm_req(): rc = gsm0808_dec_speech_codec_list(&conn->codec_list, ...)
The conn's codec list is modified before the Assignment was successful. Instead, there should be a conn->assignment.codec_list.
The only other place using conn->codec_list is handover_decision_2.c: it attempts to find out what codec types are supported.
Maybe it doesn't make sense to look up merely the last Assignment's received codec_list at all?
Anyway, if it does, then we should still not overwrite conn->codec_list until an Assignment was successful, for sanity.