pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/32212 )


Change subject: NM: NACK received OML OPSTART if no attributes were set 
beforehand
......................................................................

NM: NACK received OML OPSTART if no attributes were set beforehand

Related: OS#5992
Change-Id: I771ecc2f60873a3549e8a07a2e57c7948dfc993e
---
M src/common/nm_bb_transc_fsm.c
M src/common/nm_bts_fsm.c
M src/common/nm_bts_sm_fsm.c
M src/common/nm_channel_fsm.c
M src/common/nm_radio_carrier_fsm.c
5 files changed, 40 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/12/32212/1

diff --git a/src/common/nm_bb_transc_fsm.c b/src/common/nm_bb_transc_fsm.c
index 4853a94..bec029e 100644
--- a/src/common/nm_bb_transc_fsm.c
+++ b/src/common/nm_bb_transc_fsm.c
@@ -135,6 +135,13 @@
                                    rc);
                break;
        case NM_EV_RX_OPSTART:
+#if 0
+               /* Disabled because osmo-bsc doesn't send SetAttr on SITE_MGR 
object */
+               if (!bb_transc->mo.setattr_success) {
+                       oml_mo_opstart_nack(&bb_transc->mo, 
NM_NACK_CANT_PERFORM);
+                       return;
+               }
+#endif
                bts_model_opstart(trx->bts, &bb_transc->mo, bb_transc);
                break;
        case NM_EV_OPSTART_ACK:
diff --git a/src/common/nm_bts_fsm.c b/src/common/nm_bts_fsm.c
index 3056404..3126bde 100644
--- a/src/common/nm_bts_fsm.c
+++ b/src/common/nm_bts_fsm.c
@@ -123,6 +123,10 @@
                                    rc);
                break;
        case NM_EV_RX_OPSTART:
+               if (!bts->mo.setattr_success) {
+                       oml_mo_opstart_nack(&bts->mo, NM_NACK_CANT_PERFORM);
+                       return;
+               }
                bts_model_opstart(bts, &bts->mo, bts);
                break;
        case NM_EV_OPSTART_ACK:
diff --git a/src/common/nm_bts_sm_fsm.c b/src/common/nm_bts_sm_fsm.c
index 7b3e38d..42649b5 100644
--- a/src/common/nm_bts_sm_fsm.c
+++ b/src/common/nm_bts_sm_fsm.c
@@ -99,6 +99,13 @@
                                    rc);
                break;
        case NM_EV_RX_OPSTART:
+#if 0
+               /* Disabled because osmo-bsc doesn't send SetAttr on SITE_MGR 
object */
+               if (!site_mgr->mo.setattr_success) {
+                       oml_mo_opstart_nack(&site_mgr->mo, 
NM_NACK_CANT_PERFORM);
+                       return;
+               }
+#endif
                bts_model_opstart(NULL, &site_mgr->mo, site_mgr);
                break;
        case NM_EV_OPSTART_ACK:
diff --git a/src/common/nm_channel_fsm.c b/src/common/nm_channel_fsm.c
index 057a761..573e9e0 100644
--- a/src/common/nm_channel_fsm.c
+++ b/src/common/nm_channel_fsm.c
@@ -109,6 +109,10 @@
        case NM_EV_RX_OPSTART:
                LOGPFSML(fi, LOGL_NOTICE, "BSC trying to activate TS while 
still in avail=dependency. "
                         "Allowing it to stay backward-compatible with older 
osmo-bts versions, but BSC is wrong.\n");
+               if (!ts->mo.setattr_success) {
+                       oml_mo_opstart_nack(&ts->mo, NM_NACK_CANT_PERFORM);
+                       return;
+               }
                bts_model_opstart(ts->trx->bts, &ts->mo, ts);
                break;
        case NM_EV_OPSTART_ACK:
@@ -158,6 +162,10 @@
                                    rc);
                break;
        case NM_EV_RX_OPSTART:
+               if (!ts->mo.setattr_success) {
+                       oml_mo_opstart_nack(&ts->mo, NM_NACK_CANT_PERFORM);
+                       return;
+               }
                bts_model_opstart(ts->trx->bts, &ts->mo, ts);
                break;
        case NM_EV_OPSTART_ACK:
diff --git a/src/common/nm_radio_carrier_fsm.c 
b/src/common/nm_radio_carrier_fsm.c
index c3a4cb5..5963b57 100644
--- a/src/common/nm_radio_carrier_fsm.c
+++ b/src/common/nm_radio_carrier_fsm.c
@@ -116,6 +116,10 @@
                                    rc);
                break;
        case NM_EV_RX_OPSTART:
+               if (!trx->mo.setattr_success) {
+                       oml_mo_opstart_nack(&trx->mo, NM_NACK_CANT_PERFORM);
+                       return;
+               }
                bts_model_opstart(trx->bts, &trx->mo, trx);
                break;
        case NM_EV_OPSTART_ACK:

--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/32212
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I771ecc2f60873a3549e8a07a2e57c7948dfc993e
Gerrit-Change-Number: 32212
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>
Gerrit-MessageType: newchange

Reply via email to