|
@@ -3343,6 +3343,7 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
|
|
|
if (wpa_s->wpa_state == WPA_INTERFACE_DISABLED &&
|
|
|
event != EVENT_INTERFACE_ENABLED &&
|
|
|
event != EVENT_INTERFACE_STATUS &&
|
|
|
+ event != EVENT_SCAN_RESULTS &&
|
|
|
event != EVENT_SCHED_SCAN_STOPPED) {
|
|
|
wpa_dbg(wpa_s, MSG_DEBUG,
|
|
|
"Ignore event %s (%d) while interface is disabled",
|
|
@@ -3429,6 +3430,14 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
|
|
|
}
|
|
|
break;
|
|
|
case EVENT_SCAN_RESULTS:
|
|
|
+ if (wpa_s->wpa_state == WPA_INTERFACE_DISABLED) {
|
|
|
+ wpa_s->scan_res_handler = NULL;
|
|
|
+ wpa_s->own_scan_running = 0;
|
|
|
+ wpa_s->radio->external_scan_running = 0;
|
|
|
+ wpa_s->last_scan_req = NORMAL_SCAN_REQ;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
if (!(data && data->scan_info.external_scan) &&
|
|
|
os_reltime_initialized(&wpa_s->scan_start_time)) {
|
|
|
struct os_reltime now, diff;
|