aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwmc3200wifi/commands.h
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2009-11-25 00:02:26 +0100
committerJohn W. Linville <linville@tuxdriver.com>2009-11-28 15:05:06 -0500
commit9bf22f2c4607dbb68beb26153d83fa52b82e2d2f (patch)
tree13336c0aa86248f4608f15b597d5a09b7dbab1d2 /drivers/net/wireless/iwmc3200wifi/commands.h
parent2944b2c2d2dd884c550163c698577132588277d8 (diff)
downloadkernel_samsung_smdk4412-9bf22f2c4607dbb68beb26153d83fa52b82e2d2f.zip
kernel_samsung_smdk4412-9bf22f2c4607dbb68beb26153d83fa52b82e2d2f.tar.gz
kernel_samsung_smdk4412-9bf22f2c4607dbb68beb26153d83fa52b82e2d2f.tar.bz2
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>
Diffstat (limited to 'drivers/net/wireless/iwmc3200wifi/commands.h')
-rw-r--r--drivers/net/wireless/iwmc3200wifi/commands.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwmc3200wifi/commands.h b/drivers/net/wireless/iwmc3200wifi/commands.h
index 95cdf94..06af055 100644
--- a/drivers/net/wireless/iwmc3200wifi/commands.h
+++ b/drivers/net/wireless/iwmc3200wifi/commands.h
@@ -458,6 +458,17 @@ struct iwm_umac_cmd_stop_resume_tx {
u16 reserved;
} __attribute__ ((packed));
+#define IWM_CMD_PMKID_ADD 1
+#define IWM_CMD_PMKID_DEL 2
+#define IWM_CMD_PMKID_FLUSH 3
+
+struct iwm_umac_pmkid_update {
+ __le32 command;
+ u8 bssid[ETH_ALEN];
+ __le16 reserved;
+ u8 pmkid[WLAN_PMKID_LEN];
+} __attribute__ ((packed));
+
/* LMAC commands */
int iwm_read_mac(struct iwm_priv *iwm, u8 *mac);
int iwm_send_prio_table(struct iwm_priv *iwm);
@@ -488,6 +499,8 @@ int iwm_scan_ssids(struct iwm_priv *iwm, struct cfg80211_ssid *ssids,
int iwm_scan_one_ssid(struct iwm_priv *iwm, u8 *ssid, int ssid_len);
int iwm_send_umac_stop_resume_tx(struct iwm_priv *iwm,
struct iwm_umac_notif_stop_resume_tx *ntf);
+int iwm_send_pmkid_update(struct iwm_priv *iwm,
+ struct cfg80211_pmksa *pmksa, u32 command);
/* UDMA commands */
int iwm_target_reset(struct iwm_priv *iwm);