aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-11-09 14:31:33 (GMT)
committerJouni Malinen <j@w1.fi>2010-11-09 14:31:33 (GMT)
commit99ac2913d8b2d44954af1cb6efbc22f4addfe2d6 (patch)
treed3a0a9a6e1954bb0ea607ed405531ce0eee74c09
parentd3b4286967697113ad9bc5e8e84effd16a978baf (diff)
downloadhostap-99ac2913d8b2d44954af1cb6efbc22f4addfe2d6.zip
hostap-99ac2913d8b2d44954af1cb6efbc22f4addfe2d6.tar.gz
hostap-99ac2913d8b2d44954af1cb6efbc22f4addfe2d6.tar.bz2
wpa_supplicant: Fix port state management without IEEE8021X_EAPOL
If IEE8021X_EAPOL is not enabled in the config, wpa_drv_set_supp_port must be called from the supplicant, otherwise port will not be activated after association.
-rw-r--r--wpa_supplicant/wpa_supplicant.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index e4f72c1..ff1cfd3 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -550,6 +550,9 @@ void wpa_supplicant_set_state(struct wpa_supplicant *wpa_s,
wpa_s->new_connection = 0;
wpa_s->reassociated_connection = 1;
wpa_drv_set_operstate(wpa_s, 1);
+#ifndef IEEE8021X_EAPOL
+ wpa_drv_set_supp_port(wpa_s, 1);
+#endif /* IEEE8021X_EAPOL */
wpa_s->after_wps = 0;
#ifdef CONFIG_P2P
wpas_p2p_completed(wpa_s);
@@ -558,6 +561,9 @@ void wpa_supplicant_set_state(struct wpa_supplicant *wpa_s,
state == WPA_ASSOCIATED) {
wpa_s->new_connection = 1;
wpa_drv_set_operstate(wpa_s, 0);
+#ifndef IEEE8021X_EAPOL
+ wpa_drv_set_supp_port(wpa_s, 0);
+#endif /* IEEE8021X_EAPOL */
}
wpa_s->wpa_state = state;