laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/19510 )

Change subject: pcu_sock: warn about maximum transceiver number constraints
......................................................................

pcu_sock: warn about maximum transceiver number constraints

Change-Id: I600860b12758a73e1bba6d9d508cf67c3d88cf34
---
M src/common/pcu_sock.c
1 file changed, 15 insertions(+), 11 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c
index 0125793..ca8dd15 100644
--- a/src/common/pcu_sock.c
+++ b/src/common/pcu_sock.c
@@ -215,13 +215,17 @@
                info_ind->remote_ip[i] = nsvc->remote_ip;
        }

-       for (i = 0; i < 8; i++) {
-               trx = gsm_bts_trx_num(bts, i);
-               if (!trx)
-                       break;
-               info_ind->trx[i].pdch_mask = 0;
-               info_ind->trx[i].arfcn = trx->arfcn;
-               info_ind->trx[i].hlayer1 = trx_get_hlayer1(trx);
+       llist_for_each_entry(trx, &bts->trx_list, list) {
+               if (trx->nr >= ARRAY_SIZE(info_ind->trx)) {
+                       LOGPTRX(trx, DPCU, LOGL_NOTICE, "PCU interface (version 
%u) "
+                               "cannot handle more than %zu transceivers => 
skipped\n",
+                               PCU_IF_VERSION, ARRAY_SIZE(info_ind->trx));
+                       continue;
+               }
+
+               info_ind->trx[trx->nr].pdch_mask = 0;
+               info_ind->trx[trx->nr].arfcn = trx->arfcn;
+               info_ind->trx[trx->nr].hlayer1 = trx_get_hlayer1(trx);
                if (trx->mo.nm_state.operational != NM_OPSTATE_ENABLED ||
                    trx->mo.nm_state.administrative != NM_STATE_UNLOCKED) {
                            LOGPTRX(trx, DPCU, LOGL_INFO, "unavailable for PCU 
(op=%s adm=%s)\n",
@@ -233,14 +237,14 @@
                        ts = &trx->ts[j];
                        if (ts->mo.nm_state.operational == NM_OPSTATE_ENABLED
                            && ts_should_be_pdch(ts)) {
-                               info_ind->trx[i].pdch_mask |= (1 << j);
-                               info_ind->trx[i].tsc[j] = gsm_ts_tsc(ts);
+                               info_ind->trx[trx->nr].pdch_mask |= (1 << j);
+                               info_ind->trx[trx->nr].tsc[j] = gsm_ts_tsc(ts);

                                LOGP(DPCU, LOGL_INFO, "trx=%d ts=%d: "
                                        "available (tsc=%d arfcn=%d)\n",
                                        trx->nr, ts->nr,
-                                       info_ind->trx[i].tsc[j],
-                                       info_ind->trx[i].arfcn);
+                                       info_ind->trx[trx->nr].tsc[j],
+                                       info_ind->trx[trx->nr].arfcn);
                        }
                }
        }

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

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I600860b12758a73e1bba6d9d508cf67c3d88cf34
Gerrit-Change-Number: 19510
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanits...@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <lafo...@osmocom.org>
Gerrit-MessageType: merged

Reply via email to