diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index a9934b60b87b..9b6b622148bd 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -16208,6 +16208,17 @@ static int wlan_hdd_add_key_sap(struct hdd_adapter *adapter, vdev = hdd_objmgr_get_vdev(adapter); if (!vdev) return -EINVAL; + + /* Do not send install key when sap restart is in progress. If there is + * critical channel request handling going on, fw will stop that request + * and will not send restart resposne + */ + if (wlan_vdev_is_restart_progress(vdev) == QDF_STATUS_SUCCESS) { + hdd_err("vdev: %d restart in progress", wlan_vdev_get_id(vdev)); + hdd_objmgr_put_vdev(vdev); + return -EINVAL; + } + if (hostapd_state->bss_state == BSS_START) { errno = wlan_cfg80211_crypto_add_key(vdev, (pairwise ? diff --git a/core/mac/src/pe/lim/lim_process_assoc_req_frame.c b/core/mac/src/pe/lim/lim_process_assoc_req_frame.c index 857f80fefc71..3d8b01da4621 100644 --- a/core/mac/src/pe/lim/lim_process_assoc_req_frame.c +++ b/core/mac/src/pe/lim/lim_process_assoc_req_frame.c @@ -2211,7 +2211,7 @@ void lim_process_assoc_req_frame(struct mac_context *mac_ctx, uint8_t *rx_pkt_in return; } - if (wlan_vdev_is_up(vdev) != QDF_STATUS_SUCCESS) { + if (wlan_vdev_mlme_get_state(vdev) != WLAN_VDEV_S_UP) { pe_err("SAP is not up, drop ASSOC REQ on sessionid: %d", session->peSessionId);