diff options
Diffstat (limited to 'openbsc/src/osmo-bsc/osmo_bsc_ctrl.c')
-rw-r--r-- | openbsc/src/osmo-bsc/osmo_bsc_ctrl.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c b/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c index a6410cb86..6b14e4795 100644 --- a/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c +++ b/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c @@ -180,6 +180,8 @@ static int set_bts_loc(struct ctrl_cmd *cmd, void *data) int ret; struct gsm_network *gsmnet = (struct gsm_network *)data; struct gsm_bts *bts = (struct gsm_bts *) cmd->node; + struct osmo_msc_data *msc; + if (!bts) { cmd->reply = "bts not found."; return CTRL_CMD_ERROR; @@ -217,8 +219,10 @@ static int set_bts_loc(struct ctrl_cmd *cmd, void *data) ret = get_bts_loc(cmd, data); - if (!location_equal(curloc, lastloc)) - generate_location_state_trap(bts, gsmnet->bsc_data->msc.msc_con); + if (!location_equal(curloc, lastloc)) { + llist_for_each_entry(msc, &gsmnet->bsc_data->mscs, entry) + generate_location_state_trap(bts, msc->msc_con); + } cleanup_locations(&bts->loc_list); |