diff --git a/umac/cmn_services/crypto/src/wlan_crypto_global_api.c b/umac/cmn_services/crypto/src/wlan_crypto_global_api.c index 729efa7190bf..7b2f05a02e4a 100644 --- a/umac/cmn_services/crypto/src/wlan_crypto_global_api.c +++ b/umac/cmn_services/crypto/src/wlan_crypto_global_api.c @@ -485,13 +485,9 @@ QDF_STATUS wlan_crypto_set_del_pmksa(struct wlan_objmgr_vdev *vdev, crypto_params = &crypto_priv->crypto_params; if (set) { - if (!pmksa->pmk_len || pmksa->pmk_len > MAX_PMK_LEN) { - crypto_err("Invalid PMK length"); - return QDF_STATUS_E_FAILURE; - } - pmkid_cache = wlan_crypto_get_pmksa(vdev, &pmksa->bssid); - if (pmkid_cache && (!qdf_mem_cmp(pmkid_cache->pmk, pmksa->pmk, + if (pmkid_cache && ((pmksa->pmk_len == pmkid_cache->pmk_len) && + !qdf_mem_cmp(pmkid_cache->pmk, pmksa->pmk, pmksa->pmk_len))) { crypto_debug("PMKSA entry found with same PMK"); pmkid_cache = NULL;