From: Avraham Stern <avraham.stern@xxxxxxxxx> According to Multiband Operation specification (r17, section 3.5.2), a BSS Transition Management Request with the disassociation imminent bit set should always be accepted. This is enforced in case the request did not include a candidate list. However, in case a candidate list was included but none of the APs in the candidate list was found in the scan results, the request is rejected. Fix that by always accepting a request with the disassociation imminent bit set even if no roaming candidate was found. type=feature Signed-off-by: Avraham Stern <avraham.stern@xxxxxxxxx> Signed-off-by: Benjamin Berg <benjamin.berg@xxxxxxxxx> --- wpa_supplicant/wnm_sta.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/wpa_supplicant/wnm_sta.c b/wpa_supplicant/wnm_sta.c index 8c51b3ddb..4a3fd5eb1 100644 --- a/wpa_supplicant/wnm_sta.c +++ b/wpa_supplicant/wnm_sta.c @@ -1114,11 +1114,18 @@ int wnm_scan_process(struct wpa_supplicant *wpa_s, bool pre_scan_check) return 1; send_bss_resp_fail: - /* Send reject response for all the failures */ + if (wpa_s->wnm_reply) { + /* 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; + } - if (wpa_s->wnm_reply) wnm_send_bss_transition_mgmt_resp(wpa_s, status, reason, 0, NULL); + } wnm_btm_reset(wpa_s); -- 2.44.0 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap