OM2000: Route TS config requests to the right TRX

The TRX number is encoded in mo.assoc_so, whereas the TS number
is in mo.inst!
This commit is contained in:
Harald Welte 2011-03-05 20:15:09 +01:00
parent f6d6b21ec2
commit 8aeac19dbd
1 changed files with 10 additions and 1 deletions

View File

@ -654,7 +654,6 @@ static int abis_om2k_sendmsg(struct gsm_bts *bts, struct msgb *msg)
case OM2K_MO_CLS_TRXC:
case OM2K_MO_CLS_TX:
case OM2K_MO_CLS_RX:
case OM2K_MO_CLS_TS:
/* Route through per-TRX OML Link to the appropriate TRX */
to_trx_oml = 1;
msg->trx = gsm_bts_trx_by_nr(bts, o2h->mo.inst);
@ -664,6 +663,16 @@ static int abis_om2k_sendmsg(struct gsm_bts *bts, struct msgb *msg)
return -ENODEV;
}
break;
case OM2K_MO_CLS_TS:
/* Route through per-TRX OML Link to the appropriate TRX */
to_trx_oml = 1;
msg->trx = gsm_bts_trx_by_nr(bts, o2h->mo.assoc_so);
if (!msg->trx) {
LOGP(DNM, LOGL_ERROR, "MO=%s Tx Dropping msg to "
"non-existing TRX\n", om2k_mo_name(&o2h->mo));
return -ENODEV;
}
break;
default:
/* Route through the IXU/DXU OML Link */
msg->trx = bts->c0;