]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Reject new SCAN commands if there is a pending request
authorJouni Malinen <jouni@qca.qualcomm.com>
Fri, 12 Dec 2014 10:11:14 +0000 (12:11 +0200)
committerJouni Malinen <j@w1.fi>
Fri, 19 Dec 2014 13:14:38 +0000 (15:14 +0200)
FAIL-BUSY was already returned for the case where a scan had been
started, but with the radio work design, it would have been possible to
schedule multiple scan requests if a non-scan radio work was in
progress. Multiple back-to-back scans are not usually very helpful, so
reject this type of cases where the SCAN command would be used to build
such a sequence.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
wpa_supplicant/ctrl_iface.c

index c9eb56d9aed4c856ab47e17287c6195f4ebdad4c..c8dc97d1655a2672b92ff57f726186cf2d032612 100644 (file)
@@ -6286,6 +6286,13 @@ static void wpas_ctrl_scan(struct wpa_supplicant *wpa_s, char *params,
                return;
        }
 
+       if (radio_work_pending(wpa_s, "scan")) {
+               wpa_printf(MSG_DEBUG,
+                          "Pending scan scheduled - reject new request");
+               *reply_len = os_snprintf(reply, reply_size, "FAIL-BUSY\n");
+               return;
+       }
+
        if (params) {
                if (os_strncasecmp(params, "TYPE=ONLY", 9) == 0)
                        scan_only = 1;