[PATCH] bcm43xx: WE-21 support
authorLarry Finger <Larry.Finger@lwfinger.net>
Thu, 31 Aug 2006 15:01:39 +0000 (10:01 -0500)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 25 Sep 2006 20:52:16 +0000 (16:52 -0400)
Patch to make bcm43xx-softmac be compatible with the revised SSID
length of WE-21.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/bcm43xx/bcm43xx_wx.c
net/ieee80211/softmac/ieee80211softmac_wx.c

index 888077fc14c457b7082e706d503754efc9b46ab3..9b7b15cf656153b20d99633019b1885a1b87513c 100644 (file)
@@ -334,7 +334,7 @@ static int bcm43xx_wx_get_nick(struct net_device *net_dev,
        size_t len;
 
        mutex_lock(&bcm->mutex);
-       len = strlen(bcm->nick) + 1;
+       len = strlen(bcm->nick);
        memcpy(extra, bcm->nick, len);
        data->data.length = (__u16)len;
        data->data.flags = 1;
index 75320b6842ab59e0bbd7d4d160249585ff649e39..2aa779d18f3861a2f6f2119f99c89c6c2c56b583 100644 (file)
@@ -80,10 +80,10 @@ ieee80211softmac_wx_set_essid(struct net_device *net_dev,
         * If it's our network, ignore the change, we're already doing it!
         */
        if((sm->associnfo.associating || sm->associated) &&
-          (data->essid.flags && data->essid.length && extra)) {
+          (data->essid.flags && data->essid.length)) {
                /* Get the associating network */
                n = ieee80211softmac_get_network_by_bssid(sm, sm->associnfo.bssid);
-               if(n && n->essid.len == (data->essid.length - 1) &&
+               if(n && n->essid.len == data->essid.length &&
                   !memcmp(n->essid.data, extra, n->essid.len)) {
                        dprintk(KERN_INFO PFX "Already associating or associated to "MAC_FMT"\n",
                                MAC_ARG(sm->associnfo.bssid));
@@ -109,8 +109,8 @@ ieee80211softmac_wx_set_essid(struct net_device *net_dev,
        sm->associnfo.static_essid = 0;
        sm->associnfo.assoc_wait = 0;
 
-       if (data->essid.flags && data->essid.length && extra /*required?*/) {
-               length = min(data->essid.length - 1, IW_ESSID_MAX_SIZE);
+       if (data->essid.flags && data->essid.length) {
+               length = min((int)data->essid.length, IW_ESSID_MAX_SIZE);
                if (length) {
                        memcpy(sm->associnfo.req_essid.data, extra, length);
                        sm->associnfo.static_essid = 1;