dslinux/linux-2.6.x/arch/arm/mach-nds/arm7 wifi.c

pepsiman dslinux_pepsiman at user.in-berlin.de
Tue Nov 14 23:07:29 CET 2006


Update of /cvsroot/dslinux/dslinux/linux-2.6.x/arch/arm/mach-nds/arm7
In directory antilope:/tmp/cvs-serv437

Modified Files:
	wifi.c 
Log Message:
If shared key auth fails, try open system auth

Index: wifi.c
===================================================================
RCS file: /cvsroot/dslinux/dslinux/linux-2.6.x/arch/arm/mach-nds/arm7/wifi.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- wifi.c	7 May 2006 14:29:37 -0000	1.13
+++ wifi.c	14 Nov 2006 22:07:27 -0000	1.14
@@ -51,7 +51,7 @@
 static void Wifi_RxSetup(void);
 static void Wifi_TxSetup(void);
 static void Wifi_CopyMacAddr(volatile void *dest, volatile void *src);
-static void Wifi_SendAuthPacket(void);
+static void Wifi_SendAuthPacket(int wepmode);
 static void Wifi_SendBackChallengeText(u8 * challenge);
 static void Wifi_SendAssocPacket(void);
 static void Wifi_Intr_RxEnd(void);
@@ -366,7 +366,7 @@
 			    POWER0_LED_FAST);
 	} else {
 		wifi_data.state &= ~WIFI_STATE_AUTHENTICATED;
-		Wifi_SendAuthPacket();
+		Wifi_SendAuthPacket(wifi_data.curWepmode);
 	}
 }
 
@@ -1183,7 +1183,12 @@
 				Wifi_SendAssocPacket();
 			}
 		}
-		// else tell the user?
+        // failed
+        else
+        {
+            //Try open system auth
+            Wifi_SendAuthPacket( WEPMODE_NONE );
+        }
 	}
       out:
 	return WFLAG_PACKET_MGT;
@@ -1232,7 +1237,7 @@
 			    (power_read(POWER_CONTROL) &
 			     ~POWER0_LED_FAST) | POWER0_LED_BLINK);
 
-		Wifi_SendAuthPacket();
+		Wifi_SendAuthPacket(WEPMODE_NONE);
 	}
 
       out:
@@ -1657,7 +1662,7 @@
 	}
 }
 
-static void Wifi_SendAuthPacket(void)
+static void Wifi_SendAuthPacket(int wepmode)
 {
 	// max size is 12+24+4+6 = 46
 	u8 data[64];
@@ -1668,7 +1673,7 @@
 
 	fixed_params = (u16 *) (data + i);
 
-	if (wifi_data.curWepmode == WEPMODE_NONE) {
+	if (wepmode == WEPMODE_NONE) {
 		fixed_params[0] = 0;	// Authentication algorithm number (0=open system)
 	} else {
 		fixed_params[0] = 1;	// Authentication algorithm number (1=shared key)




More information about the dslinux-commit mailing list