aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/scan.c
diff options
context:
space:
mode:
authorAvraham Stern <avraham.stern@intel.com>2017-06-11 12:41:20 (GMT)
committerJouni Malinen <j@w1.fi>2017-07-17 14:57:41 (GMT)
commit3756acfd48c0a2547ab2a80ce77f1ca7d70837e4 (patch)
treec408fe842d8b560d4fb255bb9c4486c4adea679c /wpa_supplicant/scan.c
parentd5571831506a14622f345954314051f9e712aa85 (diff)
downloadhostap-3756acfd48c0a2547ab2a80ce77f1ca7d70837e4.zip
hostap-3756acfd48c0a2547ab2a80ce77f1ca7d70837e4.tar.gz
hostap-3756acfd48c0a2547ab2a80ce77f1ca7d70837e4.tar.bz2
RRM: Send Radio Measurement response when beacon report scan fails
When failing to trigger scan for beacon report (e.g., when the requested duration is not supported by the driver), send a Radio Measurement response with the mode set to refused and don't retry the scan. Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Diffstat (limited to 'wpa_supplicant/scan.c')
-rw-r--r--wpa_supplicant/scan.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/wpa_supplicant/scan.c b/wpa_supplicant/scan.c
index 964adba..104b258 100644
--- a/wpa_supplicant/scan.c
+++ b/wpa_supplicant/scan.c
@@ -200,7 +200,8 @@ static void wpas_trigger_scan_cb(struct wpa_radio_work *work, int deinit)
wpa_scan_free_params(params);
work->ctx = NULL;
if (ret) {
- int retry = wpa_s->last_scan_req != MANUAL_SCAN_REQ;
+ int retry = wpa_s->last_scan_req != MANUAL_SCAN_REQ &&
+ !wpa_s->beacon_rep_data.token;
if (wpa_s->disconnected)
retry = 0;
@@ -222,6 +223,10 @@ static void wpas_trigger_scan_cb(struct wpa_radio_work *work, int deinit)
/* Clear the scan_res_handler */
wpa_s->scan_res_handler = NULL;
}
+
+ if (wpa_s->beacon_rep_data.token)
+ wpas_rrm_refuse_request(wpa_s);
+
return;
}