Lines Matching full:scan

58 #define ISCAN_INTERRUPT		0x0004		/* interrupt current scan */
59 #define ISCAN_CANCEL 0x0008 /* cancel current scan */
61 #define ISCAN_ABORT 0x0010 /* end the scan immediately */
62 #define ISCAN_RUNNING 0x0020 /* scan was started */
65 unsigned long ss_scanend; /* time scan must stop */
66 u_int ss_duration; /* duration for next scan */
67 struct task ss_scan_start; /* scan start */
68 struct timeout_task ss_scan_curchan; /* scan execution */
74 * scan. This value should be large enough to catch most
92 MALLOC_DEFINE(M_80211_SCAN, "80211scan", "802.11 scan state");
105 ("scan still running")); in ieee80211_swscan_detach()
128 * TODO: all of the vap scan calls should be methods! in ieee80211_swscan_vattach()
160 * Start a scan unless one is already going.
163 ieee80211_swscan_start_scan_locked(const struct ieee80211_scanner *scan, in ieee80211_swscan_start_scan_locked() argument
175 "%s: scan inhibited by pending channel change\n", __func__); in ieee80211_swscan_start_scan_locked()
178 "%s: %s scan, duration %u mindwell %u maxdwell %u, desired mode %s, %s%s%s%s%s%s\n" in ieee80211_swscan_start_scan_locked()
191 ieee80211_scan_update_locked(vap, scan); in ieee80211_swscan_start_scan_locked()
208 /* Set duration for this particular scan */ in ieee80211_swscan_start_scan_locked()
214 /* NB: scan_start must be before the scan runtask */ in ieee80211_swscan_start_scan_locked()
222 /* Start scan task */ in ieee80211_swscan_start_scan_locked()
228 "%s: %s scan already in progress\n", __func__, in ieee80211_swscan_start_scan_locked()
235 * Start a scan unless one is already going.
240 ieee80211_swscan_start_scan(const struct ieee80211_scanner *scan, in ieee80211_swscan_start_scan() argument
251 result = ieee80211_swscan_start_scan_locked(scan, vap, flags, duration, in ieee80211_swscan_start_scan()
259 * Check the scan cache for an ap/channel to use; if that
260 * fails then kick off a new scan.
267 ieee80211_swscan_check_scan(const struct ieee80211_scanner *scan, in ieee80211_swscan_check_scan() argument
295 * something is already in the scan cache we can in ieee80211_swscan_check_scan()
321 result = ieee80211_swscan_start_scan_locked(scan, vap, flags, duration, in ieee80211_swscan_check_scan()
328 * Restart a previous scan. If the previous scan completed
332 ieee80211_swscan_bg_scan(const struct ieee80211_scanner *scan, in ieee80211_swscan_bg_scan() argument
359 "%s: %s scan, ticks %u duration %u\n", __func__, in ieee80211_swscan_bg_scan()
363 ieee80211_scan_update_locked(vap, scan); in ieee80211_swscan_bg_scan()
367 * A background scan does not select a new sta; it in ieee80211_swscan_bg_scan()
368 * just refreshes the scan cache. Also, indicate in ieee80211_swscan_bg_scan()
369 * the scan logic should follow the beacon schedule: in ieee80211_swscan_bg_scan()
370 * we go off-channel and scan for a while, then in ieee80211_swscan_bg_scan()
374 * the scan is complete we leave power save mode. in ieee80211_swscan_bg_scan()
377 * (and background scan) automatically by way of the in ieee80211_swscan_bg_scan()
384 /* if previous scan completed, restart */ in ieee80211_swscan_bg_scan()
391 * NB: beware of the scan cache being flushed; in ieee80211_swscan_bg_scan()
419 "%s: %s scan already in progress\n", __func__, in ieee80211_swscan_bg_scan()
428 * Taskqueue work to cancel a scan.
430 * Note: for offload scan devices, we may want to call into the
447 "%s: %s %s scan\n", func, in cancel_scan()
452 /* clear bg scan NOPICK */ in cancel_scan()
454 /* mark request and wake up the scan task */ in cancel_scan()
468 * Cancel any scan currently going on for the specified vap.
477 * Cancel any scan currently going on.
502 /* wake up the scan task */ in ieee80211_swscan_scan_next()
507 * Manually stop a scan that is currently running.
508 * Provided for drivers that are not able to scan single channels
537 * Full-offload scan devices don't require this. in ieee80211_swscan_probe_curchan()
562 * Scan curchan. If this is an active scan and the channel
645 "%s: no channels to scan\n", __func__); in scan_start()
654 * those devices manage scan/traffic differently. in scan_start()
674 /* XXX scan state can change! Re-validate scan state! */ in scan_start()
696 * Note: only /end/ the scan if we're CANCEL rather than in scan_curchan_task()
699 * We can stop the scan if we hit cancel, but we shouldn't in scan_curchan_task()
700 * call scan_end(ss, 1) if we're just PAUSEing the scan. in scan_curchan_task()
728 * Watch for truncation due to the scan end time. in scan_curchan_task()
754 * Perform the channel change and scan unlocked so the driver in scan_curchan_task()
762 * Scan curchan. Drivers for "intelligent hardware" in scan_curchan_task()
769 * prepare/initiate the hardware for the scan (if at all). in scan_curchan_task()
774 /* XXX scan state can change! Re-validate scan state! */ in scan_curchan_task()
810 /* XXX scan state can change! Re-validate scan state! */ in scan_end()
818 "%s: OOPS! scan cancelled during driver call (1) (ss_iflags=0x%x)!\n", in scan_end()
824 * Record scan complete time. Note that we also do in scan_end()
825 * this when canceled so any background scan will in scan_end()
844 * If not canceled and scan completed, do post-processing. in scan_end()
847 * notify the driver to end the scan above to avoid having in scan_end()
848 * rx frames alter the scan candidate list. in scan_end()
887 "%s: OOPS! scan cancelled during driver call (2) (ss_iflags=0x%x)!\n", in scan_end()
905 * Clear the SCAN bit first in case frames are in scan_done()
913 * Drop out of power save mode when a scan has in scan_done()
914 * completed. If this scan was prematurely terminated in scan_done()
915 * because it is a background scan then don't notify in scan_done()
923 * If we're not a scan offload device, come back out of in scan_done()
930 "%s: Dropping out of scan; ss_next=%u, ss_last=%u\n", in scan_done()
937 /* send 'scan done' event if not interrupted due to traffic. */ in scan_done()
965 * using scan state setup on the initial entry to the timer in ieee80211_swscan_add_scan()
1018 * Default scan attach method.
1030 /* Allocate initial scan state */ in ieee80211_swscan_attach()