@@ -6318,17 +6318,11 @@
wpa_s->disconnected = 1;
if (wpa_s->drv_priv) {
- /* Don't deauthenticate if WoWLAN is enabled */
- if (!wpa_drv_get_wowlan(wpa_s)) {
- wpa_supplicant_deauthenticate(
- wpa_s, WLAN_REASON_DEAUTH_LEAVING);
+ wpa_supplicant_deauthenticate(wpa_s,
+ WLAN_REASON_DEAUTH_LEAVING);
- wpa_drv_set_countermeasures(wpa_s, 0);
- wpa_clear_keys(wpa_s, NULL);
- } else {
- wpa_msg(wpa_s, MSG_INFO,
- "Do not deauthenticate as part of interface deinit since WoWLAN is enabled");
- }
+ wpa_drv_set_countermeasures(wpa_s, 0);
+ wpa_clear_keys(wpa_s, NULL);
}
wpa_supplicant_cleanup(wpa_s);
Dear Hostap organization -------------------------------------------------------- [wpa_supplicant] Rollback change list:02c21c02d09fdce55c0048cc58ff870cab77c9e9 [Description] The function wpa_drv_get_wowlan() is to get signal of whether wowlan is triggered by wpa itself to kernel through wpa_drv_wowlan() function. Trigger action depends on the flag<wowlan_triggers = xx> in wpa_supp.conf. It must need to disconnect on interface deinit whatever WOWLAN is enable or disable, because deinit means that interface is removed or wpa_supplicant process killed. If don't do so, the status between kernel and wpa_supplicant will be different and it will occur wifi unexpected behavior. Signed-off-by: xing wan <18071720608@163.com> --------------------------------------------------------