@@ -877,10 +877,18 @@ send_bss_resp_fail:
if (!reply_on_fail)
return 0;
- /* Send reject response for all the failures */
+ /* Send a response for all the failures */
if (wpa_s->wnm_reply) {
wpa_s->wnm_reply = 0;
+ /* If disassoc imminent is set, we must not reject */
+ if (wpa_s->wnm_mode & WNM_BSS_TM_REQ_DISASSOC_IMMINENT ||
+ wpa_s->wnm_mode & WNM_BSS_TM_REQ_ESS_DISASSOC_IMMINENT) {
+ wpa_printf(MSG_DEBUG,
+ "WNM: Accept BTM request because disassociation imminent bit is set");
+ status = WNM_BSS_TM_ACCEPT;
+ }
+
wnm_send_bss_transition_mgmt_resp(wpa_s,
wpa_s->wnm_dialog_token,
status, 0, NULL);