Fix BTS attribute requests
* fix BTS numbers: use 0 to indicate given BTS and 0xFF to indicate all BTS' as it's explained in 3GPP TS 52.021 §9.3. * only request attributes from supported (OsmoBTS) types Change-Id: I8f43055c38000248033a8ff9ddaf0910d68d794b Related: OS#2317
This commit is contained in:
parent
943077755d
commit
b9d13bf227
|
@ -1590,10 +1590,17 @@ int abis_nm_get_attr(struct gsm_bts *bts, uint8_t obj_class, uint8_t bts_nr, uin
|
||||||
const uint8_t *attr, uint8_t attr_len)
|
const uint8_t *attr, uint8_t attr_len)
|
||||||
{
|
{
|
||||||
struct abis_om_hdr *oh;
|
struct abis_om_hdr *oh;
|
||||||
struct msgb *msg = nm_msgb_alloc();
|
struct msgb *msg;
|
||||||
|
|
||||||
|
if (bts->type != GSM_BTS_TYPE_OSMOBTS) {
|
||||||
|
LOGPC(DNM, LOGL_NOTICE, "Getting attributes from BTS%d type %s is not supported.\n",
|
||||||
|
bts->nr, btstype2str(bts->type));
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
DEBUGP(DNM, "Get Attr (bts=%d)\n", bts->nr);
|
DEBUGP(DNM, "Get Attr (bts=%d)\n", bts->nr);
|
||||||
|
|
||||||
|
msg = nm_msgb_alloc();
|
||||||
oh = (struct abis_om_hdr *) msgb_put(msg, ABIS_OM_FOM_HDR_SIZE);
|
oh = (struct abis_om_hdr *) msgb_put(msg, ABIS_OM_FOM_HDR_SIZE);
|
||||||
fill_om_fom_hdr(oh, attr_len, NM_MT_GET_ATTR, obj_class,
|
fill_om_fom_hdr(oh, attr_len, NM_MT_GET_ATTR, obj_class,
|
||||||
bts_nr, trx_nr, ts_nr);
|
bts_nr, trx_nr, ts_nr);
|
||||||
|
|
|
@ -350,12 +350,12 @@ static int inp_sig_cb(unsigned int subsys, unsigned int signal,
|
||||||
generate_cell_chan_list(ca, trx->bts);
|
generate_cell_chan_list(ca, trx->bts);
|
||||||
|
|
||||||
/* Request generic BTS-level attributes */
|
/* Request generic BTS-level attributes */
|
||||||
abis_nm_get_attr(trx->bts, NM_OC_BTS, trx->bts->nr, trx->nr, 0xFF, bts_attr, sizeof(bts_attr));
|
abis_nm_get_attr(trx->bts, NM_OC_BTS, 0xFF, 0xFF, 0xFF, bts_attr, sizeof(bts_attr));
|
||||||
|
|
||||||
llist_for_each_entry(cur_trx, &trx->bts->trx_list, list) {
|
llist_for_each_entry(cur_trx, &trx->bts->trx_list, list) {
|
||||||
int i;
|
int i;
|
||||||
/* Request TRX-level attributes */
|
/* Request TRX-level attributes */
|
||||||
abis_nm_get_attr(cur_trx->bts, NM_OC_BASEB_TRANSC, cur_trx->bts->nr, cur_trx->nr, 0xFF,
|
abis_nm_get_attr(cur_trx->bts, NM_OC_BASEB_TRANSC, 0, cur_trx->nr, 0xFF,
|
||||||
trx_attr, sizeof(trx_attr));
|
trx_attr, sizeof(trx_attr));
|
||||||
for (i = 0; i < ARRAY_SIZE(cur_trx->ts); i++)
|
for (i = 0; i < ARRAY_SIZE(cur_trx->ts); i++)
|
||||||
generate_ma_for_ts(&cur_trx->ts[i]);
|
generate_ma_for_ts(&cur_trx->ts[i]);
|
||||||
|
|
Loading…
Reference in New Issue