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


Change subject: common: Fix nack message cause
......................................................................

common: Fix nack message cause

Give more specific causes than NM_NACK_OBJINST_UNKN

Related: OS#5961
Related: OS#5967
Change-Id: I1ad47e2ba362e2ce676757310df8cc70641343a7
---
M src/common/oml.c
1 file changed, 25 insertions(+), 8 deletions(-)



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

diff --git a/src/common/oml.c b/src/common/oml.c
index 06b2b15..1212c9c 100644
--- a/src/common/oml.c
+++ b/src/common/oml.c
@@ -1627,12 +1627,14 @@
        case NM_OC_BASEB_TRANSC:
        case NM_OC_CHANNEL:
        case NM_OC_GPRS_NSVC:
-               if (obj_inst->trx_nr >= bts->num_trx)
-                       *c = NM_NACK_OBJINST_UNKN;
+               if (obj_inst->trx_nr >= bts->num_trx) {
+                       *c = NM_NACK_PARAM_RANGE;
                        return NULL;
-               if (!(trx = gsm_bts_trx_num(bts, obj_inst->trx_nr)))
-                       *c = NM_NACK_OBJINST_UNKN;
+               }
+               if (!(trx = gsm_bts_trx_num(bts, obj_inst->trx_nr))) {
+                       *c = NM_NACK_TRXNR_UNKN;
                        return NULL;
+               }
                break;
        }
        /* Other cases, set mo */
@@ -1648,8 +1650,7 @@
                break;
        case NM_OC_CHANNEL:
                if (obj_inst->ts_nr >= TRX_NR_TS)
-                       *c = NM_NACK_OBJINST_UNKN;
-                       return NULL;
+                       goto objclass_invalid;
                mo = &trx->ts[obj_inst->ts_nr].mo;
                break;
        case NM_OC_SITE_MANAGER:
@@ -1663,12 +1664,15 @@
                break;
        case NM_OC_GPRS_NSVC:
                if (obj_inst->trx_nr >= ARRAY_SIZE(bts->gprs.nsvc))
-                       *c = NM_NACK_OBJINST_UNKN;
-                       return NULL;
+                       goto objclass_invalid;
                mo = &bts->gprs.nsvc[obj_inst->trx_nr].mo;
                break;
        }
        return mo;
+
+objclass_invalid:
+       *c = NM_NACK_OBJCLASS_INVAL;
+       return NULL;
 }

 /* obtain the in-memory data structure of a given object instance */

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

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I1ad47e2ba362e2ce676757310df8cc70641343a7
Gerrit-Change-Number: 32076
Gerrit-PatchSet: 1
Gerrit-Owner: arehbein <[email protected]>
Gerrit-MessageType: newchange

Reply via email to