|
@@ -1777,6 +1777,16 @@ static void wpa_supplicant_event_assoc(struct wpa_supplicant *wpa_s,
|
|
|
wpa_s->key_mgmt == WPA_KEY_MGMT_WPA_NONE ||
|
|
|
(wpa_s->current_ssid &&
|
|
|
wpa_s->current_ssid->mode == IEEE80211_MODE_IBSS)) {
|
|
|
+ if (wpa_s->key_mgmt == WPA_KEY_MGMT_WPA_NONE &&
|
|
|
+ (wpa_s->drv_flags &
|
|
|
+ WPA_DRIVER_FLAGS_SET_KEYS_AFTER_ASSOC_DONE)) {
|
|
|
+ /*
|
|
|
+ * Set the key after having received joined-IBSS event
|
|
|
+ * from the driver.
|
|
|
+ */
|
|
|
+ wpa_supplicant_set_wpa_none_key(wpa_s,
|
|
|
+ wpa_s->current_ssid);
|
|
|
+ }
|
|
|
wpa_supplicant_cancel_auth_timeout(wpa_s);
|
|
|
wpa_supplicant_set_state(wpa_s, WPA_COMPLETED);
|
|
|
} else if (!ft_completed) {
|