* [PATCH 04/14] ipw2200: Reassociate even if set the same essid.
@ 2006-08-21 3:37 Zhu Yi
0 siblings, 0 replies; only message in thread
From: Zhu Yi @ 2006-08-21 3:37 UTC (permalink / raw)
To: netdev, John W. Linville
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>
---
drivers/net/wireless/ipw2200.c | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
17e85d1ad3dd9c8dc48d63dcc6cd531b3b8fb685
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c
index 27e87d1..e929f88 100644
--- a/drivers/net/wireless/ipw2200.c
+++ b/drivers/net/wireless/ipw2200.c
@@ -8837,7 +8837,6 @@ static int ipw_wx_set_essid(struct net_d
union iwreq_data *wrqu, char *extra)
{
struct ipw_priv *priv = ieee80211_priv(dev);
- char *essid;
int length;
mutex_lock(&priv->mutex);
@@ -8852,12 +8851,14 @@ static int ipw_wx_set_essid(struct net_d
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;
@@ -8867,7 +8868,7 @@ static int ipw_wx_set_essid(struct net_d
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");
--
1.2.6
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2006-08-21 3:39 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-21 3:37 [PATCH 04/14] ipw2200: Reassociate even if set the same essid Zhu Yi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).