aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/sdio/function/wlan/ar6000/ar6000/wireless_ext.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/sdio/function/wlan/ar6000/ar6000/wireless_ext.c b/drivers/sdio/function/wlan/ar6000/ar6000/wireless_ext.c
index 680cf90f364..ab4d21b1f8c 100644
--- a/drivers/sdio/function/wlan/ar6000/ar6000/wireless_ext.c
+++ b/drivers/sdio/function/wlan/ar6000/ar6000/wireless_ext.c
@@ -272,12 +272,11 @@ ar6000_ioctl_siwessid(struct net_device *dev,
}
/*
- * iwconfig passes a null terminated string with length including this
- * so we need to account for this
+ * iwconfig passes a string with length excluding any trailing NUL.
+ * FIXME: we should be able to set an ESSID of 32 bytes, yet things fall
+ * over badly if we do. So we limit the ESSID to 31 bytes.
*/
- if (data->flags && (!data->length || (data->length == 1) ||
- ((data->length - 1) > sizeof(ar->arSsid))))
- {
+ if (data->flags && (!data->length || data->length >= sizeof(ar->arSsid))) {
/*
* ssid is invalid
*/