diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-07-14 02:08:35 +0800 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-07-14 02:08:35 +0800 |
commit | 6d2b66e89a9513c206ec76274f148cf65b06996d (patch) | |
tree | c20a739f8ae3b3bc885c3d419993969bf7dd7ae3 /openbsc/src | |
parent | 4f448c97ebc8dae095e109965ec038601125a7c8 (diff) |
abis_nm: Create a signal data structure for the NACK message
Provide the message type and the msgb of the NACK message.
Diffstat (limited to 'openbsc/src')
-rw-r--r-- | openbsc/src/abis_nm.c | 5 | ||||
-rw-r--r-- | openbsc/src/bsc_init.c | 9 |
2 files changed, 9 insertions, 5 deletions
diff --git a/openbsc/src/abis_nm.c b/openbsc/src/abis_nm.c index 848755625..6f112e189 100644 --- a/openbsc/src/abis_nm.c +++ b/openbsc/src/abis_nm.c @@ -966,6 +966,7 @@ static int abis_nm_rcvmsg_fom(struct msgb *mb) return abis_nm_rcvmsg_sw(mb); if (is_in_arr(mt, nacks, ARRAY_SIZE(nacks))) { + struct nm_nack_signal_data nack_data; struct tlv_parsed tp; debugp_foh(foh); @@ -979,7 +980,9 @@ static int abis_nm_rcvmsg_fom(struct msgb *mb) else DEBUGPC(DNM, "\n"); - dispatch_signal(SS_NM, S_NM_NACK, (void*) &mt); + nack_data.msg = mb; + nack_data.mt = mt; + dispatch_signal(SS_NM, S_NM_NACK, &nack_data); return 0; } #if 0 diff --git a/openbsc/src/bsc_init.c b/openbsc/src/bsc_init.c index 5f3707381..ce668086d 100644 --- a/openbsc/src/bsc_init.c +++ b/openbsc/src/bsc_init.c @@ -563,9 +563,9 @@ static int sw_activ_rep(struct msgb *mb) } /* Callback function for NACK on the OML NM */ -static int oml_msg_nack(u_int8_t mt) +static int oml_msg_nack(struct nm_nack_signal_data *nack) { - if (mt == NM_MT_SET_BTS_ATTR_NACK) { + if (nack->mt == NM_MT_SET_BTS_ATTR_NACK) { LOGP(DNM, LOGL_FATAL, "Failed to set BTS attributes. That is fatal. " "Was the bts type and frequency properly specified?\n"); exit(-1); @@ -578,14 +578,15 @@ static int oml_msg_nack(u_int8_t mt) static int nm_sig_cb(unsigned int subsys, unsigned int signal, void *handler_data, void *signal_data) { + struct nm_nack_signal_data *nack; u_int8_t *msg_type; switch (signal) { case S_NM_SW_ACTIV_REP: return sw_activ_rep(signal_data); case S_NM_NACK: - msg_type = signal_data; - return oml_msg_nack(*msg_type); + nack = signal_data; + return oml_msg_nack(nack); default: break; } |