diff options
author | Sean McNeil <sean@mcneil.com> | 2008-11-19 17:09:43 +0000 |
---|---|---|
committer | Andy Green <agreen@pads.home.warmcat.com> | 2008-11-19 17:09:43 +0000 |
commit | c261efc57ac5a7824ba781e9b4748dfc03b35a25 (patch) | |
tree | fef3c5fe3e93148c96f605b47a458902496c7b4d /drivers/sdio/function/wlan | |
parent | 2bf6c9a4db92f98b97205d79cb6076a379675f98 (diff) |
fix-wep-needs-keys-before-ap.patch
Signed-off-by: Andy Green <andy@openmoko.com>
Diffstat (limited to 'drivers/sdio/function/wlan')
-rw-r--r-- | drivers/sdio/function/wlan/ar6000/ar6000/wireless_ext.c | 20 |
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; |