407be00b6c
sta_scan_pending was supposed to be accurate enough for determining whether a P2P scan needs to be postponed. However, it has turned out that there were cases where sta_scan_pending was not cleared properly. While the known cases have now been addressed, it is possible that some other cases may still exist. To avoid issues with P2P operationg getting stuck, verify more carefully that there is a real pending station mode scan (either in progress or scheduled to be requested). Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
40 lines
1.7 KiB
C
40 lines
1.7 KiB
C
/*
|
|
* WPA Supplicant - Scanning
|
|
* Copyright (c) 2003-2010, Jouni Malinen <j@w1.fi>
|
|
*
|
|
* This software may be distributed under the terms of the BSD license.
|
|
* See README for more details.
|
|
*/
|
|
|
|
#ifndef SCAN_H
|
|
#define SCAN_H
|
|
|
|
int wpa_supplicant_enabled_networks(struct wpa_supplicant *wpa_s);
|
|
void wpa_supplicant_req_scan(struct wpa_supplicant *wpa_s, int sec, int usec);
|
|
int wpa_supplicant_delayed_sched_scan(struct wpa_supplicant *wpa_s,
|
|
int sec, int usec);
|
|
int wpa_supplicant_req_sched_scan(struct wpa_supplicant *wpa_s);
|
|
void wpa_supplicant_cancel_scan(struct wpa_supplicant *wpa_s);
|
|
void wpa_supplicant_cancel_sched_scan(struct wpa_supplicant *wpa_s);
|
|
void wpa_supplicant_notify_scanning(struct wpa_supplicant *wpa_s,
|
|
int scanning);
|
|
struct wpa_driver_scan_params;
|
|
int wpa_supplicant_trigger_scan(struct wpa_supplicant *wpa_s,
|
|
struct wpa_driver_scan_params *params);
|
|
struct wpa_scan_results *
|
|
wpa_supplicant_get_scan_results(struct wpa_supplicant *wpa_s,
|
|
struct scan_info *info, int new_scan);
|
|
int wpa_supplicant_update_scan_results(struct wpa_supplicant *wpa_s);
|
|
const u8 * wpa_scan_get_ie(const struct wpa_scan_res *res, u8 ie);
|
|
const u8 * wpa_scan_get_vendor_ie(const struct wpa_scan_res *res,
|
|
u32 vendor_type);
|
|
struct wpabuf * wpa_scan_get_vendor_ie_multi(const struct wpa_scan_res *res,
|
|
u32 vendor_type);
|
|
int wpa_supplicant_filter_bssid_match(struct wpa_supplicant *wpa_s,
|
|
const u8 *bssid);
|
|
void wpa_supplicant_update_scan_int(struct wpa_supplicant *wpa_s, int sec);
|
|
void scan_only_handler(struct wpa_supplicant *wpa_s,
|
|
struct wpa_scan_results *scan_res);
|
|
int wpas_scan_scheduled(struct wpa_supplicant *wpa_s);
|
|
|
|
#endif /* SCAN_H */
|