Skip to content

Commit

Permalink
[PATCH] ipw2200: Reassociate even if set the same essid.
Browse files Browse the repository at this point in the history
This patch traps the case when the essid is being set to its
current value. If the essid is being set again and we are already
associated, chances are some other parameters have also been altered.
I think it is safer to do the re-association for this case.

Signed-off-by: Bill Moss <bmoss@clemson.edu>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Zhu Yi authored and John W. Linville committed Aug 29, 2006
1 parent ab644b0 commit a9f0d42
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions drivers/net/wireless/ipw2200.c
Original file line number Diff line number Diff line change
Expand Up @@ -8837,7 +8837,6 @@ static int ipw_wx_set_essid(struct net_device *dev,
union iwreq_data *wrqu, char *extra)
{
struct ipw_priv *priv = ieee80211_priv(dev);
char *essid;
int length;

mutex_lock(&priv->mutex);
Expand All @@ -8852,12 +8851,14 @@ static int ipw_wx_set_essid(struct net_device *dev,
return 0;
}

length = min(wrqu->essid.length, IW_ESSID_MAX_SIZE);
essid = extra;
length = min((int)wrqu->essid.length, IW_ESSID_MAX_SIZE);
if (!extra[length - 1])
length--;

priv->config |= CFG_STATIC_ESSID;

if (priv->essid_len == length && !memcmp(priv->essid, extra, length)) {
if (priv->essid_len == length && !memcmp(priv->essid, extra, length)
&& (priv->status & (STATUS_ASSOCIATED | STATUS_ASSOCIATING))) {
IPW_DEBUG_WX("ESSID set to current ESSID.\n");
mutex_unlock(&priv->mutex);
return 0;
Expand All @@ -8867,7 +8868,7 @@ static int ipw_wx_set_essid(struct net_device *dev,
length);

priv->essid_len = length;
memcpy(priv->essid, essid, priv->essid_len);
memcpy(priv->essid, extra, priv->essid_len);

/* Network configuration changed -- force [re]association */
IPW_DEBUG_ASSOC("[re]association triggered due to ESSID change.\n");
Expand Down

0 comments on commit a9f0d42

Please sign in to comment.