[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>
This commit is contained in:
Zhu Yi 2006-04-13 17:21:13 +08:00 committed by John W. Linville
parent 127119d50f
commit e3c5a64e70

View file

@ -6344,8 +6344,6 @@ static void ipw_wpa_assoc_frame(struct ipw_priv *priv, char *wpa_ie,
{ {
/* make sure WPA is enabled */ /* make sure WPA is enabled */
ipw_wpa_enable(priv, 1); ipw_wpa_enable(priv, 1);
ipw_disassociate(priv);
} }
static int ipw_set_rsn_capa(struct ipw_priv *priv, static int ipw_set_rsn_capa(struct ipw_priv *priv,
@ -6539,6 +6537,7 @@ static int ipw_wx_set_auth(struct net_device *dev,
case IW_AUTH_WPA_ENABLED: case IW_AUTH_WPA_ENABLED:
ret = ipw_wpa_enable(priv, param->value); ret = ipw_wpa_enable(priv, param->value);
ipw_disassociate(priv);
break; break;
case IW_AUTH_RX_UNENCRYPTED_EAPOL: case IW_AUTH_RX_UNENCRYPTED_EAPOL: