aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libbsc
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2011-03-06 22:11:32 +0100
committerHarald Welte <laforge@gnumonks.org>2011-03-06 22:11:32 +0100
commitf38ca9aec78421a5a065804007443e5c18ac582a (patch)
tree39b4515d715bd0dd56c113960eaed14c4b86601a /openbsc/src/libbsc
parentd529db6e5025daab8c1316e827bbed4e1e2289ac (diff)
OML: Include a pointer to the BTS in NM STATE CHANGE signals
... this allows the BTS driver to decide if it should handle the event at all
Diffstat (limited to 'openbsc/src/libbsc')
-rw-r--r--openbsc/src/libbsc/abis_nm.c2
-rw-r--r--openbsc/src/libbsc/bts_ipaccess_nanobts.c3
2 files changed, 5 insertions, 0 deletions
diff --git a/openbsc/src/libbsc/abis_nm.c b/openbsc/src/libbsc/abis_nm.c
index 788dd4de9..761dda182 100644
--- a/openbsc/src/libbsc/abis_nm.c
+++ b/openbsc/src/libbsc/abis_nm.c
@@ -697,6 +697,7 @@ static int update_admstate(struct gsm_bts *bts, u_int8_t obj_class,
new_state = *nm_state;
new_state.administrative = adm_state;
+ nsd.bts = bts;
nsd.obj_class = obj_class;
nsd.old_state = nm_state;
nsd.new_state = &new_state;
@@ -759,6 +760,7 @@ static int abis_nm_rx_statechg_rep(struct msgb *mb)
nsd.old_state = nm_state;
nsd.new_state = &new_state;
nsd.obj_inst = &foh->obj_inst;
+ nsd.bts = bts;
dispatch_signal(SS_NM, S_NM_STATECHG_OPER, &nsd);
nm_state->operational = new_state.operational;
nm_state->availability = new_state.availability;
diff --git a/openbsc/src/libbsc/bts_ipaccess_nanobts.c b/openbsc/src/libbsc/bts_ipaccess_nanobts.c
index 25dc0c8a2..463e3a7ad 100644
--- a/openbsc/src/libbsc/bts_ipaccess_nanobts.c
+++ b/openbsc/src/libbsc/bts_ipaccess_nanobts.c
@@ -258,6 +258,9 @@ static int nm_statechg_event(int evt, struct nm_statechg_signal_data *nsd)
struct gsm_bts_trx_ts *ts;
struct gsm_bts_gprs_nsvc *nsvc;
+ if (nsd->bts->type != GSM_BTS_TYPE_NANOBTS)
+ return 0;
+
/* This event-driven BTS setup is currently only required on nanoBTS */
/* S_NM_STATECHG_ADM is called after we call chg_adm_state() and would create