diff options
author | Sylvain Munaut <tnt@246tNt.com> | 2010-01-02 16:32:17 +0100 |
---|---|---|
committer | Harald Welte <laforge@netfilter.org> | 2010-01-03 10:11:24 +0100 |
commit | 1f6c11fda80fca9915531c22e41c62279ba2c2a0 (patch) | |
tree | 8b3df7ab54c70e69fd9560119387e05f488412ef /openbsc/src/chan_alloc.c | |
parent | 15e1024e49d8d8295de69d4e8af0cad8d393bb78 (diff) |
abis_nm: Introduce & use a nm_is_running function to test gsm_nm_state
This returns true if the gsm_nm_state can be considered 'running'.
Note that we also accept availability==0xff (which is a code for
no value) because according to 12.21 it is perfectly valid.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Diffstat (limited to 'openbsc/src/chan_alloc.c')
-rw-r--r-- | openbsc/src/chan_alloc.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/openbsc/src/chan_alloc.c b/openbsc/src/chan_alloc.c index 48f87f211..ab26fcaf2 100644 --- a/openbsc/src/chan_alloc.c +++ b/openbsc/src/chan_alloc.c @@ -39,8 +39,7 @@ static int ts_is_usable(struct gsm_bts_trx_ts *ts) { /* FIXME: How does this behave for BS-11 ? */ if (is_ipaccess_bts(ts->trx->bts)) { - if (ts->nm_state.operational != NM_OPSTATE_ENABLED || - ts->nm_state.availability != NM_AVSTATE_OK) + if (!nm_is_running(&ts->nm_state)) return 0; } @@ -51,10 +50,8 @@ int trx_is_usable(struct gsm_bts_trx *trx) { /* FIXME: How does this behave for BS-11 ? */ if (is_ipaccess_bts(trx->bts)) { - if (trx->nm_state.operational != NM_OPSTATE_ENABLED || - trx->nm_state.availability != NM_AVSTATE_OK || - trx->bb_transc.nm_state.operational != NM_OPSTATE_ENABLED || - trx->bb_transc.nm_state.availability != NM_AVSTATE_OK) + if (!nm_is_running(&trx->nm_state) || + !nm_is_running(&trx->bb_transc.nm_state)) return 0; } @@ -380,8 +377,8 @@ void bts_chan_load(struct pchan_load *cl, const struct gsm_bts *bts) int i; /* skip administratively deactivated tranxsceivers */ - if (trx->nm_state.availability != NM_AVSTATE_OK || - trx->bb_transc.nm_state.availability != NM_AVSTATE_OK) + if (!nm_is_running(&trx->nm_state) || + !nm_is_running(&trx->bb_transc.nm_state)) continue; for (i = 0; i < ARRAY_SIZE(trx->ts); i++) { @@ -390,7 +387,7 @@ void bts_chan_load(struct pchan_load *cl, const struct gsm_bts *bts) int j; /* skip administratively deactivated timeslots */ - if (ts->nm_state.availability != NM_AVSTATE_OK) + if (!nm_is_running(&ts->nm_state)) continue; for (j = 0; j < subslots_per_pchan[ts->pchan]; j++) { |