bsc: properly f_rslem_unregister() released channels
After the RSL RF Release has happened, by definition the RSL_Emulation should no longer direct RSL messages on that chan_nr to the test component that used to own the chan_nr in the ConnectionTable. Before this patch, re-using e.g. an already freed SDCCH would result in non-obvious test failure. This is most relevant for generic functions called from various tests, but fixing all occurences anyway. Related: SYS#5130 Change-Id: I764ea2ed9af9358adeb42d7ed46b84f30f1e224c
This commit is contained in:
parent
ee02223e28
commit
e680b01650
|
@ -5041,10 +5041,12 @@ private function f_tc_ho_int_radio_link_failure(charstring id) runs on MSC_ConnH
|
||||||
[] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {}
|
[] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {}
|
||||||
[] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
|
[] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
|
||||||
RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
|
RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
|
||||||
|
f_rslem_unregister(0, g_chan_nr);
|
||||||
}
|
}
|
||||||
[] RSL1.receive(tr_RSL_DEACT_SACCH(new_chan_nr)) {}
|
[] RSL1.receive(tr_RSL_DEACT_SACCH(new_chan_nr)) {}
|
||||||
[] RSL1.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
|
[] RSL1.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
|
||||||
RSL1.send(ts_RSL_RF_CHAN_REL_ACK(new_chan_nr));
|
RSL1.send(ts_RSL_RF_CHAN_REL_ACK(new_chan_nr));
|
||||||
|
f_rslem_unregister(0, g_chan_nr, PT := RSL1_PROC);
|
||||||
}
|
}
|
||||||
[] BSSAP.receive(tr_BSSMAP_ClearComplete) {}
|
[] BSSAP.receive(tr_BSSMAP_ClearComplete) {}
|
||||||
}
|
}
|
||||||
|
@ -5426,6 +5428,7 @@ private function f_tc_ho_out_fail_no_result_after_ho_cmd(charstring id) runs on
|
||||||
[] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
|
[] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
|
||||||
log("Got RF Chan Rel");
|
log("Got RF Chan Rel");
|
||||||
RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
|
RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
|
||||||
|
f_rslem_unregister(0, g_chan_nr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7216,6 +7219,7 @@ runs on MSC_ConnHdlr {
|
||||||
[] rsl.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
|
[] rsl.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
|
||||||
f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack");
|
f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack");
|
||||||
rsl.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
|
rsl.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
|
||||||
|
f_rslem_unregister(0, g_chan_nr);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7240,6 +7244,7 @@ runs on MSC_ConnHdlr {
|
||||||
[] rsl.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
|
[] rsl.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
|
||||||
f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack");
|
f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack");
|
||||||
rsl.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
|
rsl.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
|
||||||
|
f_rslem_unregister(0, g_chan_nr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9198,6 +9203,7 @@ private function f_tc_no_msc(charstring id) runs on MSC_ConnHdlr {
|
||||||
[] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
|
[] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
|
||||||
f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack");
|
f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack");
|
||||||
RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
|
RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
|
||||||
|
f_rslem_unregister(0, g_chan_nr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
setverdict(pass);
|
setverdict(pass);
|
||||||
|
@ -9374,6 +9380,7 @@ private function f_TC_reassignment_codec(charstring id) runs on MSC_ConnHdlr {
|
||||||
[] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {}
|
[] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {}
|
||||||
[] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
|
[] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
|
||||||
RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
|
RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
|
||||||
|
f_rslem_unregister(0, g_chan_nr);
|
||||||
}
|
}
|
||||||
[] BSSAP.receive(tr_BSSMAP_ClearComplete) {
|
[] BSSAP.receive(tr_BSSMAP_ClearComplete) {
|
||||||
BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
|
BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
|
||||||
|
|
Loading…
Reference in New Issue