diff options
author | Harald Welte <laforge@gnumonks.org> | 2009-05-01 13:08:14 +0000 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2009-05-01 13:08:14 +0000 |
commit | aeedeb41dd4f2fc7388a421469b07bc9a2594eda (patch) | |
tree | 21044cfde650e26f50d1c55b8ec34e6fa3099633 | |
parent | 6c96ba5e4fb6b44292315f4b493e3553fa382e36 (diff) |
fix compiler warnings in abis_nm.c
-rw-r--r-- | src/abis_nm.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/abis_nm.c b/src/abis_nm.c index d6bfd4ecd..e84245264 100644 --- a/src/abis_nm.c +++ b/src/abis_nm.c @@ -529,15 +529,21 @@ objclass2obj(struct gsm_bts *bts, u_int8_t obj_class, static int update_admstate(struct gsm_bts *bts, u_int8_t obj_class, struct abis_om_obj_inst *obj_inst, u_int8_t adm_state) { - struct gsm_nm_state *nm_state; + struct gsm_nm_state *nm_state, new_state; void *obj; int rc; - nm_state = objclass2nmstate(bts, obj_class, obj_inst); obj = objclass2obj(bts, obj_class, obj_inst); - rc = nm_state_event(EVT_STATECHG_ADM, obj_class, obj, nm_state, adm_state); - if (nm_state) - nm_state->administrative = adm_state; + nm_state = objclass2nmstate(bts, obj_class, obj_inst); + if (!nm_state) + return -1; + + new_state = *nm_state; + new_state.administrative = adm_state; + + rc = nm_state_event(EVT_STATECHG_ADM, obj_class, obj, nm_state, &new_state); + + nm_state->administrative = adm_state; return rc; } @@ -1758,7 +1764,7 @@ int abis_nm_bs11_get_pll_mode(struct gsm_bts *bts) oh = (struct abis_om_hdr *) msgb_put(msg, ABIS_OM_FOM_HDR_SIZE); fill_om_fom_hdr(oh, 2+sizeof(attr), NM_MT_GET_ATTR, NM_OC_BS11, BS11_OBJ_LI, 0x00, 0x00); - msgb_tlv_put(msg, NM_ATT_LIST_REQ_ATTR, sizeof(attr), &attr); + msgb_tlv_put(msg, NM_ATT_LIST_REQ_ATTR, sizeof(attr), attr); return abis_nm_sendmsg(bts, msg); } |