|
@@ -20509,7 +20509,16 @@ static QDF_STATUS wlan_hdd_del_pmksa_cache(struct hdd_adapter *adapter,
|
|
|
if (!vdev)
|
|
|
return QDF_STATUS_E_FAILURE;
|
|
|
|
|
|
- qdf_copy_macaddr(&pmksa.bssid, &pmk_cache->bssid);
|
|
|
+ qdf_mem_zero(&pmksa, sizeof(pmksa));
|
|
|
+ if (!pmk_cache->ssid_len) {
|
|
|
+ qdf_copy_macaddr(&pmksa.bssid, &pmk_cache->bssid);
|
|
|
+ } else {
|
|
|
+ qdf_mem_copy(pmksa.ssid, pmk_cache->ssid, pmk_cache->ssid_len);
|
|
|
+ qdf_mem_copy(pmksa.cache_id, pmk_cache->cache_id,
|
|
|
+ WLAN_CACHE_ID_LEN);
|
|
|
+ pmksa.ssid_len = pmk_cache->ssid_len;
|
|
|
+ }
|
|
|
+
|
|
|
result = wlan_crypto_set_del_pmksa(vdev, &pmksa, false);
|
|
|
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
|
|
|
|
|
@@ -20792,7 +20801,6 @@ static int __wlan_hdd_cfg80211_del_pmksa(struct wiphy *wiphy,
|
|
|
|
|
|
hdd_fill_pmksa_info(adapter, pmk_cache, pmksa, true);
|
|
|
|
|
|
-
|
|
|
qdf_status = wlan_hdd_del_pmksa_cache(adapter, pmk_cache);
|
|
|
if (QDF_IS_STATUS_ERROR(qdf_status)) {
|
|
|
if (!pmksa->bssid)
|