[PATCH] bcm43xx: WE-21 support
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>
This commit is contained in:
committed by
John W. Linville
parent
a6082f4032
commit
b978d0278c
@@ -334,7 +334,7 @@ static int bcm43xx_wx_get_nick(struct net_device *net_dev,
|
|||||||
size_t len;
|
size_t len;
|
||||||
|
|
||||||
mutex_lock(&bcm->mutex);
|
mutex_lock(&bcm->mutex);
|
||||||
len = strlen(bcm->nick) + 1;
|
len = strlen(bcm->nick);
|
||||||
memcpy(extra, bcm->nick, len);
|
memcpy(extra, bcm->nick, len);
|
||||||
data->data.length = (__u16)len;
|
data->data.length = (__u16)len;
|
||||||
data->data.flags = 1;
|
data->data.flags = 1;
|
||||||
|
@@ -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 it's our network, ignore the change, we're already doing it!
|
||||||
*/
|
*/
|
||||||
if((sm->associnfo.associating || sm->associated) &&
|
if((sm->associnfo.associating || sm->associated) &&
|
||||||
(data->essid.flags && data->essid.length && extra)) {
|
(data->essid.flags && data->essid.length)) {
|
||||||
/* Get the associating network */
|
/* Get the associating network */
|
||||||
n = ieee80211softmac_get_network_by_bssid(sm, sm->associnfo.bssid);
|
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)) {
|
!memcmp(n->essid.data, extra, n->essid.len)) {
|
||||||
dprintk(KERN_INFO PFX "Already associating or associated to "MAC_FMT"\n",
|
dprintk(KERN_INFO PFX "Already associating or associated to "MAC_FMT"\n",
|
||||||
MAC_ARG(sm->associnfo.bssid));
|
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.static_essid = 0;
|
||||||
sm->associnfo.assoc_wait = 0;
|
sm->associnfo.assoc_wait = 0;
|
||||||
|
|
||||||
if (data->essid.flags && data->essid.length && extra /*required?*/) {
|
if (data->essid.flags && data->essid.length) {
|
||||||
length = min(data->essid.length - 1, IW_ESSID_MAX_SIZE);
|
length = min((int)data->essid.length, IW_ESSID_MAX_SIZE);
|
||||||
if (length) {
|
if (length) {
|
||||||
memcpy(sm->associnfo.req_essid.data, extra, length);
|
memcpy(sm->associnfo.req_essid.data, extra, length);
|
||||||
sm->associnfo.static_essid = 1;
|
sm->associnfo.static_essid = 1;
|
||||||
|
Reference in New Issue
Block a user