aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorSean McNeil <sean@mcneil.com>2008-11-19 17:09:43 +0000
committerAndy Green <agreen@pads.home.warmcat.com>2008-11-19 17:09:43 +0000
commitc261efc57ac5a7824ba781e9b4748dfc03b35a25 (patch)
treefef3c5fe3e93148c96f605b47a458902496c7b4d /drivers
parent2bf6c9a4db92f98b97205d79cb6076a379675f98 (diff)
fix-wep-needs-keys-before-ap.patch
Signed-off-by: Andy Green <andy@openmoko.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/sdio/function/wlan/ar6000/ar6000/wireless_ext.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/drivers/sdio/function/wlan/ar6000/ar6000/wireless_ext.c b/drivers/sdio/function/wlan/ar6000/ar6000/wireless_ext.c
index db749e2407c..ede8e628558 100644
--- a/drivers/sdio/function/wlan/ar6000/ar6000/wireless_ext.c
+++ b/drivers/sdio/function/wlan/ar6000/ar6000/wireless_ext.c
@@ -424,10 +424,6 @@ ar6000_ioctl_giwessid(struct net_device *dev,
return -EIO;
}
- if (!ar->arSsidLen) {
- return -EINVAL;
- }
-
data->flags = 1;
data->length = ar->arSsidLen;
A_MEMCPY(essid, ar->arSsid, ar->arSsidLen);
@@ -818,12 +814,6 @@ ar6000_ioctl_siwencode(struct net_device *dev,
AR_SOFTC_T *ar = (AR_SOFTC_T *)dev->priv;
int index;
A_INT32 auth = ar->arDot11AuthMode;
- /*
- * Static WEP Keys should be configured before setting the SSID
- */
- if (ar->arSsidLen) {
- return -EIO;
- }
if (ar->arWlanState == WLAN_DISABLED) {
return -EIO;
@@ -894,6 +884,7 @@ ar6000_ioctl_siwencode(struct net_device *dev,
* profile has changed. Erase ssid to signal change
*/
A_MEMZERO(ar->arSsid, sizeof(ar->arSsid));
+ ar->arSsidLen = 0;
return 0;
}
@@ -1096,8 +1087,10 @@ static int ar6000_ioctl_siwauth(struct net_device *dev,
return -EOPNOTSUPP;
}
- if (reset)
- memset(ar->arSsid, 0, sizeof(ar->arSsid));
+ if (reset) {
+ A_MEMZERO(ar->arSsid, sizeof(ar->arSsid));
+ ar->arSsidLen = 0;
+ }
return 0;
}
@@ -1335,7 +1328,8 @@ ar6000_ioctl_setparam(struct net_device *dev,
/*
* profile has changed. Erase ssid to signal change
*/
- A_MEMZERO(ar->arSsid, sizeof(ar->arSsid));
+ A_MEMZERO(ar->arSsid, sizeof(ar->arSsid));
+ ar->arSsidLen = 0;
}
return ret;