summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cesar/cp/eoc/sta/action/src/assoc_slave.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/cesar/cp/eoc/sta/action/src/assoc_slave.c b/cesar/cp/eoc/sta/action/src/assoc_slave.c
index 9e6bff8dad..74711cb7ba 100644
--- a/cesar/cp/eoc/sta/action/src/assoc_slave.c
+++ b/cesar/cp/eoc/sta/action/src/assoc_slave.c
@@ -50,6 +50,7 @@ cp_eoc_sta_action_sta_clear_status (cp_t *ctx)
ctx->sta_action.assoc.beacon_loss = 0;
ctx->sta_action.assoc.init_count = CP_EOC_STA_ASSOC_REQ_OFFSET;
cp_sta_own_data_t *own_data = cp_sta_mgr_get_sta_own_data (ctx);
+ bool send_mme = false;
/* If sta has been associated set UNASSOCIATED state and remove master. */
if (MAC_TEI_IS_EOC_STA (cp_sta_own_data_get_tei (ctx)))
@@ -59,7 +60,7 @@ cp_eoc_sta_action_sta_clear_status (cp_t *ctx)
sta = cp_sta_mgr_sta_get_assoc (ctx, net, own_data->tei_track);
if (sta)
{
- cp_eoc_sta_action_drv__drv_sta_get_status_ind(ctx);
+ send_mme = true;
cp_sta_set_authenticated (ctx, sta, false);
cp_sta_mgr_sta_remove (ctx, sta);
@@ -68,6 +69,8 @@ cp_eoc_sta_action_sta_clear_status (cp_t *ctx)
}
cp_sta_own_data_set_authenticated_status (ctx, false);
cp_sta_own_data_set_tei (ctx, MAC_TEI_UNASSOCIATED);
+ if (send_mme)
+ cp_eoc_sta_action_drv__drv_sta_get_status_ind (ctx);
cp_beacon_process_untracked_avln (ctx);
cp_eoc_cco_bw_sta_allocations (ctx);
}