[PATCH] Wireless-2.6 changes for bcm43xx and SoftMAC for WE-21
flat view
DORMANTno replies
From: Larry Finger <hidden>
Date: 2006-08-31 15:01:39
John,
As discussed earlier, here is the wireless-2.6 patch for WE-21 in bcm43xx-softmac. The core patch
for the SSID length, which I believe is non-controversial, must be applied first.
Larry
------------------------------------------------------
Patch to make bcm43xx-softmac be compatible with the revised SSID length of WE-21.
Signed-off-by: Larry Finger <redacted>
Index: wireless-2.6/net/ieee80211/softmac/ieee80211softmac_wx.c
===================================================================--- wireless-2.6.orig/net/ieee80211/softmac/ieee80211softmac_wx.c
+++ wireless-2.6/net/ieee80211/softmac/ieee80211softmac_wx.c@@ -80,10 +80,10 @@ ieee80211softmac_wx_set_essid(struct net * 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 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;
Index: wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_wx.c ===================================================================
--- wireless-2.6.orig/drivers/net/wireless/bcm43xx/bcm43xx_wx.c
+++ wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_wx.c@@ -334,7 +334,7 @@ static int bcm43xx_wx_get_nick(struct ne 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;