|
@@ -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;
|