diff options
author | Zhu Yi <yi.zhu@intel.com> | 2006-04-13 05:21:13 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2006-04-24 16:15:57 -0400 |
commit | e3c5a64e7075dd066316f1685caadabcbc649427 (patch) | |
tree | b7ebbc4e7867755f2f30df73523f55f4655788be /drivers/net/wireless/ipw2200.c | |
parent | 127119d50ff6e226c602ae920722897f8a0c81e2 (diff) |
[PATCH] ipw2200: Fix wpa_supplicant association problem
The new ipw2200 scan completion event feature will cause a potential event
race condition in wpa_supplicant. The patch fixes this problem by move the
ipw_disassociate() to the IW_AUTH_WPA_ENABLED event handling code.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ipw2200.c')
-rw-r--r-- | drivers/net/wireless/ipw2200.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c index 0f81ff7a1cd6..39f82f219749 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c | |||
@@ -6344,8 +6344,6 @@ static void ipw_wpa_assoc_frame(struct ipw_priv *priv, char *wpa_ie, | |||
6344 | { | 6344 | { |
6345 | /* make sure WPA is enabled */ | 6345 | /* make sure WPA is enabled */ |
6346 | ipw_wpa_enable(priv, 1); | 6346 | ipw_wpa_enable(priv, 1); |
6347 | |||
6348 | ipw_disassociate(priv); | ||
6349 | } | 6347 | } |
6350 | 6348 | ||
6351 | static int ipw_set_rsn_capa(struct ipw_priv *priv, | 6349 | static int ipw_set_rsn_capa(struct ipw_priv *priv, |
@@ -6539,6 +6537,7 @@ static int ipw_wx_set_auth(struct net_device *dev, | |||
6539 | 6537 | ||
6540 | case IW_AUTH_WPA_ENABLED: | 6538 | case IW_AUTH_WPA_ENABLED: |
6541 | ret = ipw_wpa_enable(priv, param->value); | 6539 | ret = ipw_wpa_enable(priv, param->value); |
6540 | ipw_disassociate(priv); | ||
6542 | break; | 6541 | break; |
6543 | 6542 | ||
6544 | case IW_AUTH_RX_UNENCRYPTED_EAPOL: | 6543 | case IW_AUTH_RX_UNENCRYPTED_EAPOL: |