diff options
author | Samuel Ortiz <sameo@linux.intel.com> | 2009-10-16 01:18:47 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-10-27 16:48:24 -0400 |
commit | a82aedbf1b043f7a7474aa9b6d223104ac51827a (patch) | |
tree | 04e994a2bec92dffdf21823ed0c605d9ab5f5ed2 | |
parent | 03d1a62c1fb10fe00cfc5cb7f4496d8d6d0e7660 (diff) |
iwmc3200wifi: WPS support
By setting the WSC profile flag, we now support WPS as an enrollee.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/iwmc3200wifi/cfg80211.c | 7 | ||||
-rw-r--r-- | drivers/net/wireless/iwmc3200wifi/commands.h | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwmc3200wifi/cfg80211.c b/drivers/net/wireless/iwmc3200wifi/cfg80211.c index 703edb30c269..ca75d07831a9 100644 --- a/drivers/net/wireless/iwmc3200wifi/cfg80211.c +++ b/drivers/net/wireless/iwmc3200wifi/cfg80211.c | |||
@@ -627,6 +627,13 @@ static int iwm_cfg80211_connect(struct wiphy *wiphy, struct net_device *dev, | |||
627 | iwm->default_key = sme->key_idx; | 627 | iwm->default_key = sme->key_idx; |
628 | } | 628 | } |
629 | 629 | ||
630 | /* WPA and open AUTH type from wpa_s means WPS (a.k.a. WSC) */ | ||
631 | if ((iwm->umac_profile->sec.flags & | ||
632 | (UMAC_SEC_FLG_WPA_ON_MSK | UMAC_SEC_FLG_RSNA_ON_MSK)) && | ||
633 | iwm->umac_profile->sec.auth_type == UMAC_AUTH_TYPE_OPEN) { | ||
634 | iwm->umac_profile->sec.flags = UMAC_SEC_FLG_WSC_ON_MSK; | ||
635 | } | ||
636 | |||
630 | ret = iwm_send_mlme_profile(iwm); | 637 | ret = iwm_send_mlme_profile(iwm); |
631 | 638 | ||
632 | if (iwm->umac_profile->sec.auth_type != UMAC_AUTH_TYPE_LEGACY_PSK || | 639 | if (iwm->umac_profile->sec.auth_type != UMAC_AUTH_TYPE_LEGACY_PSK || |
diff --git a/drivers/net/wireless/iwmc3200wifi/commands.h b/drivers/net/wireless/iwmc3200wifi/commands.h index e24d5b633997..4e183be1f262 100644 --- a/drivers/net/wireless/iwmc3200wifi/commands.h +++ b/drivers/net/wireless/iwmc3200wifi/commands.h | |||
@@ -288,6 +288,9 @@ struct iwm_umac_cmd_scan_request { | |||
288 | /* iwm_umac_security.flag is WSC mode on -- bits [2:2] */ | 288 | /* iwm_umac_security.flag is WSC mode on -- bits [2:2] */ |
289 | #define UMAC_SEC_FLG_WSC_ON_POS 2 | 289 | #define UMAC_SEC_FLG_WSC_ON_POS 2 |
290 | #define UMAC_SEC_FLG_WSC_ON_SEED 1 | 290 | #define UMAC_SEC_FLG_WSC_ON_SEED 1 |
291 | #define UMAC_SEC_FLG_WSC_ON_MSK (UMAC_SEC_FLG_WSC_ON_SEED << \ | ||
292 | UMAC_SEC_FLG_WSC_ON_POS) | ||
293 | |||
291 | 294 | ||
292 | /* Legacy profile can use only WEP40 and WEP104 for encryption and | 295 | /* Legacy profile can use only WEP40 and WEP104 for encryption and |
293 | * OPEN or PSK for authentication */ | 296 | * OPEN or PSK for authentication */ |