summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ipw2200.c
diff options
context:
space:
mode:
authorStefan Rompf2006-02-06 20:42:23 +0100
committerJohn W. Linville2006-02-17 14:16:59 +0100
commit23afaec4441baf0579fa115b626242d4d23704dd (patch)
tree5a9ddf4e13fc686108f7b21aef02c1b9eec924ce /drivers/net/wireless/ipw2200.c
parent[PATCH] ieee80211: Use IWEVGENIE to set WPA IE (diff)
downloadkernel-qcow2-linux-23afaec4441baf0579fa115b626242d4d23704dd.tar.gz
kernel-qcow2-linux-23afaec4441baf0579fa115b626242d4d23704dd.tar.xz
kernel-qcow2-linux-23afaec4441baf0579fa115b626242d4d23704dd.zip
[PATCH] ipw2200: Fix WPA network selection problem
Do not avoid APs with wpa_ie or rsn_ie if !ieee->wpa_enabled There are broken APs out there that fill these elements even though encryption is disnabled. Also, this breaks legit WEP to WPA migration scenarious. We add a checking to prohibite WPA configured STA trying to associate with non-WPA supported APs. Signed-off-by: Stefan Rompf <stefan@loplof.de> Signed-off-by: James Ketrenos <jketreno@linux.intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ipw2200.c')
-rw-r--r--drivers/net/wireless/ipw2200.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c
index 0702f0eeb784..02d2dae85c4c 100644
--- a/drivers/net/wireless/ipw2200.c
+++ b/drivers/net/wireless/ipw2200.c
@@ -5533,8 +5533,8 @@ static int ipw_best_network(struct ipw_priv *priv,
return 0;
}
- if (!priv->ieee->wpa_enabled && (network->wpa_ie_len > 0 ||
- network->rsn_ie_len > 0)) {
+ if (priv->ieee->wpa_enabled &&
+ network->wpa_ie_len == 0 && network->rsn_ie_len == 0) {
IPW_DEBUG_ASSOC("Network '%s (" MAC_FMT ")' excluded "
"because of WPA capability mismatch.\n",
escape_essid(network->ssid, network->ssid_len),