iwmc3200wifi: Implement cfg80211 PMKSA API
We need to implement the PMKSA API for proper WPA2 pre-auth and fast re-association. Our fullmac device generates all (re-)assoc IEs, and thus it needs the right PMKIDs. With this implementation we now get them from wpa_supplicant. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
2944b2c2d2
commit
9bf22f2c46
@@ -960,3 +960,25 @@ int iwm_send_umac_stop_resume_tx(struct iwm_priv *iwm,
|
||||
sizeof(struct iwm_umac_cmd_stop_resume_tx));
|
||||
|
||||
}
|
||||
|
||||
int iwm_send_pmkid_update(struct iwm_priv *iwm,
|
||||
struct cfg80211_pmksa *pmksa, u32 command)
|
||||
{
|
||||
struct iwm_umac_pmkid_update update;
|
||||
int ret;
|
||||
|
||||
memset(&update, 0, sizeof(struct iwm_umac_pmkid_update));
|
||||
|
||||
update.command = cpu_to_le32(command);
|
||||
memcpy(&update.bssid, pmksa->bssid, ETH_ALEN);
|
||||
memcpy(&update.pmkid, pmksa->pmkid, WLAN_PMKID_LEN);
|
||||
|
||||
ret = iwm_send_wifi_if_cmd(iwm, &update,
|
||||
sizeof(struct iwm_umac_pmkid_update), 0);
|
||||
if (ret) {
|
||||
IWM_ERR(iwm, "PMKID update command failed\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user