summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2008-08-18 21:32:41 +0200
committerJohn W. Linville <linville@tuxdriver.com>2008-08-27 02:06:30 +0200
commitd0c2912fe8df81a8b723fb6ec4d4cdf523cbaff7 (patch)
treee5d2c767850eb246adfd81a7eb0d0a6a306b41fc /drivers
parentatmel: return ENOENT on request_firmware failure (diff)
downloadlinux-d0c2912fe8df81a8b723fb6ec4d4cdf523cbaff7.tar.xz
linux-d0c2912fe8df81a8b723fb6ec4d4cdf523cbaff7.zip
atmel: try open system authentication too
When the AP rejects a Shared Key authentication request, try Open System auth too. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/atmel.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/wireless/atmel.c b/drivers/net/wireless/atmel.c
index f23bcd07dee8..bd65c485098c 100644
--- a/drivers/net/wireless/atmel.c
+++ b/drivers/net/wireless/atmel.c
@@ -3062,12 +3062,20 @@ static void authenticate(struct atmel_private *priv, u16 frame_len)
}
if (status == WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG) {
- /* Do opensystem first, then try sharedkey */
+ /* Flip back and forth between WEP auth modes until the max
+ * authentication tries has been exceeded.
+ */
if (system == WLAN_AUTH_OPEN) {
priv->CurrentAuthentTransactionSeqNum = 0x001;
priv->exclude_unencrypted = 1;
send_authentication_request(priv, WLAN_AUTH_SHARED_KEY, NULL, 0);
return;
+ } else if ( system == WLAN_AUTH_SHARED_KEY
+ && priv->wep_is_on) {
+ priv->CurrentAuthentTransactionSeqNum = 0x001;
+ priv->exclude_unencrypted = 0;
+ send_authentication_request(priv, WLAN_AUTH_OPEN, NULL, 0);
+ return;
} else if (priv->connect_to_any_BSS) {
int bss_index;