diff --git a/core/mac/src/pe/lim/lim_link_monitoring_algo.c b/core/mac/src/pe/lim/lim_link_monitoring_algo.c index 12b1de31f6..d96b891049 100644 --- a/core/mac/src/pe/lim/lim_link_monitoring_algo.c +++ b/core/mac/src/pe/lim/lim_link_monitoring_algo.c @@ -44,6 +44,7 @@ #include "lim_ft_defs.h" #include "lim_session.h" #include "lim_ser_des_utils.h" +#include "wlan_blm_api.h" /** * lim_delete_sta_util - utility function for deleting station context @@ -183,6 +184,7 @@ void lim_delete_sta_context(struct mac_context *mac_ctx, struct pe_session *session_entry; tpDphHashNode sta_ds; enum eSirMacReasonCodes reason_code; + struct reject_ap_info ap_info; if (!msg) { pe_err("Invalid body pointer in message"); @@ -237,6 +239,12 @@ void lim_delete_sta_context(struct mac_context *mac_ctx, session_entry->peSessionId, reason_code, eLIM_LINK_MONITORING_DEAUTH); + qdf_mem_copy(&ap_info.bssid, msg->addr2, + QDF_MAC_ADDR_SIZE); + ap_info.reject_ap_type = DRIVER_AVOID_TYPE; + wlan_blm_add_bssid_to_reject_list(mac_ctx->pdev, + &ap_info); + /* only break for STA role (non TDLS) */ break; } diff --git a/core/wma/src/wma_mgmt.c b/core/wma/src/wma_mgmt.c index d4c9598198..df8de41203 100644 --- a/core/wma/src/wma_mgmt.c +++ b/core/wma/src/wma_mgmt.c @@ -331,7 +331,6 @@ int wma_peer_sta_kickout_event_handler(void *handle, uint8_t *event, uint8_t *addr, *bssid; struct wlan_objmgr_vdev *vdev; void *soc = cds_get_context(QDF_MODULE_ID_SOC); - struct reject_ap_info ap_info; param_buf = (WMI_PEER_STA_KICKOUT_EVENTID_param_tlvs *) event; kickout_event = param_buf->fixed_param; @@ -459,10 +458,6 @@ int wma_peer_sta_kickout_event_handler(void *handle, uint8_t *event, 0); wma_lost_link_info_handler(wma, vdev_id, del_sta_ctx->rssi); - qdf_mem_copy(&ap_info.bssid, macaddr, QDF_MAC_ADDR_SIZE); - ap_info.reject_ap_type = DRIVER_AVOID_TYPE; - wlan_blm_add_bssid_to_reject_list(wma->pdev, &ap_info); - exit_handler: return 0; }