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
diff --git a/openbsc/include/openbsc/signal.h b/openbsc/include/openbsc/signal.h
index 572c975..83a4ee6 100644
--- a/openbsc/include/openbsc/signal.h
+++ b/openbsc/include/openbsc/signal.h
@@ -175,6 +175,7 @@
 struct abis_om2k_mo;
 
 struct nm_statechg_signal_data {
+	struct gsm_bts *bts;
 	u_int8_t obj_class;
 	void *obj;
 	struct gsm_nm_state *old_state;
diff --git a/openbsc/src/libbsc/abis_nm.c b/openbsc/src/libbsc/abis_nm.c
index 788dd4d..761dda1 100644
--- a/openbsc/src/libbsc/abis_nm.c
+++ b/openbsc/src/libbsc/abis_nm.c
@@ -697,6 +697,7 @@
 	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 @@
 		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 25dc0c8..463e3a7 100644
--- a/openbsc/src/libbsc/bts_ipaccess_nanobts.c
+++ b/openbsc/src/libbsc/bts_ipaccess_nanobts.c
@@ -258,6 +258,9 @@
 	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