aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2009-05-01 13:08:14 +0000
committerHarald Welte <laforge@gnumonks.org>2009-05-01 13:08:14 +0000
commitaeedeb41dd4f2fc7388a421469b07bc9a2594eda (patch)
tree21044cfde650e26f50d1c55b8ec34e6fa3099633
parent6c96ba5e4fb6b44292315f4b493e3553fa382e36 (diff)
fix compiler warnings in abis_nm.c
-rw-r--r--src/abis_nm.c18
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);
}