freebsd-dev/sys/net80211
Andriy Voskoboinyk 551f27f37a net80211: split scan_task() (#3) (into scan_start() and
scan_curchan_task() functions)

(This part should fix the problem, described in
https://lists.freebsd.org/pipermail/freebsd-wireless/2016-January/006420.html)

- Rename ss_scan_task into ss_scan_start (better describes it's
current purpose)
- Utilize taskqueue_*_timeout() functions instead of current mechanism:
 * reschedule scan_curchan_task() via taskqueue_enqueue_timeout()
for every 'maxdwell' msecs (will replace infinite loop + sleeping
for 'maxdwell' period via cv_wait());
 * rerun the task immediately when an external event occurs
(instead of waking it up via cv_signal())

Also, use mtx_sleep() to wait for null frame transmission
(allows to drop conditional variable).

Tested with:
 * Intel 3945BG, STA mode;
 * RTL8188EU, STA mode.

Approved by:	adrian (mentor)
Differential Revision:	https://reviews.freebsd.org/D5145
2016-02-29 20:53:27 +00:00
..
_ieee80211.h Perform some rather amusing layering violations to add mbuf tags to the 2015-09-26 00:53:37 +00:00
ieee80211_acl.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211_action.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211_action.h
ieee80211_adhoc.c net80211: add few missing subtype names. 2016-02-19 05:59:38 +00:00
ieee80211_adhoc.h
ieee80211_ageq.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211_ageq.h
ieee80211_alq.c
ieee80211_alq.h
ieee80211_amrr.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211_amrr.h
ieee80211_crypto_ccmp.c net80211: add new method for ieee80211_cipher (ic_setiv). 2015-10-03 00:50:13 +00:00
ieee80211_crypto_none.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211_crypto_tkip.c net80211: add new method for ieee80211_cipher (ic_setiv). 2015-10-03 00:50:13 +00:00
ieee80211_crypto_wep.c net80211: add new method for ieee80211_cipher (ic_setiv). 2015-10-03 00:50:13 +00:00
ieee80211_crypto.c net80211: drop redundant 3rd parameter from iv_key_set(). 2015-10-03 21:48:27 +00:00
ieee80211_crypto.h net80211: add a possibility to retrieve current TX key without encapsulation. 2015-10-03 00:57:33 +00:00
ieee80211_ddb.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211_dfs.c Use name from ieee80211com instead of parent ifnet, in debugging printfs. 2015-05-25 14:30:44 +00:00
ieee80211_dfs.h
ieee80211_freebsd.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211_freebsd.h net80211: fix a comment for TX lock 2016-02-28 23:52:33 +00:00
ieee80211_hostap.c net80211: add few missing subtype names. 2016-02-19 05:59:38 +00:00
ieee80211_hostap.h
ieee80211_ht.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211_ht.h Abstract out the ampdu TX pps initialisation code so it can be reused 2015-09-28 00:17:51 +00:00
ieee80211_hwmp.c Move counter.h include into ieee80211_freebsd.h. Should fix build. 2015-05-27 14:05:46 +00:00
ieee80211_input.c Perform some rather amusing layering violations to add mbuf tags to the 2015-09-26 00:53:37 +00:00
ieee80211_input.h Begin plumbing ieee80211_rx_stats through the receive path. 2015-05-25 16:37:41 +00:00
ieee80211_ioctl.c net80211: fix 'taskqueue_drain with non-sleepable locks held' warning 2016-02-28 23:35:03 +00:00
ieee80211_ioctl.h
ieee80211_mesh.c net80211: add few missing subtype names. 2016-02-19 05:59:38 +00:00
ieee80211_mesh.h Migrate the 802.11s locks out into ieee80211_freebsd.h, so they can be 2015-05-26 04:25:11 +00:00
ieee80211_monitor.c Begin plumbing ieee80211_rx_stats through the receive path. 2015-05-25 16:37:41 +00:00
ieee80211_monitor.h
ieee80211_node.c net80211: fix TIM cleanup. 2016-02-23 21:11:42 +00:00
ieee80211_node.h Migrate the fast-frames transmit support away from using the txa_private 2015-09-28 00:59:07 +00:00
ieee80211_output.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211_phy.c
ieee80211_phy.h net80211: remove hardcoded slot time durations from drivers 2015-12-13 20:48:24 +00:00
ieee80211_power.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211_power.h
ieee80211_proto.c net80211: add few missing subtype names. 2016-02-19 05:59:38 +00:00
ieee80211_proto.h net80211: add ieee80211_restart_all() call. 2015-10-27 20:40:57 +00:00
ieee80211_radiotap.c Remove unused include. 2015-05-25 14:54:10 +00:00
ieee80211_radiotap.h
ieee80211_ratectl_none.c Move counter.h include into ieee80211_freebsd.h. Should fix build. 2015-05-27 14:05:46 +00:00
ieee80211_ratectl.c
ieee80211_ratectl.h Switch around the order of static inline to be in line with how it's 2015-01-11 18:43:45 +00:00
ieee80211_regdomain.c Replay r286410. Change KPI of how device drivers that provide wireless 2015-08-27 08:56:39 +00:00
ieee80211_regdomain.h
ieee80211_rssadapt.c Convert malloc/free back to #define's, as part of OS portability work. 2015-05-25 19:18:16 +00:00
ieee80211_rssadapt.h
ieee80211_scan_sta.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211_scan_sw.c net80211: split scan_task() (#3) (into scan_start() and 2016-02-29 20:53:27 +00:00
ieee80211_scan_sw.h Break out the current 802.11 software scan methods into an indirect table. 2015-06-08 02:35:43 +00:00
ieee80211_scan.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211_scan.h Break out the current 802.11 software scan methods into an indirect table. 2015-06-08 02:35:43 +00:00
ieee80211_sta.c net80211: add few missing subtype names. 2016-02-19 05:59:38 +00:00
ieee80211_sta.h
ieee80211_superg.c net80211: free node reference in the ieee80211_parent_xmitpkt() when error happened. 2015-10-12 04:30:38 +00:00
ieee80211_superg.h
ieee80211_tdma.c Convert malloc/free back to #define's, as part of OS portability work. 2015-05-25 19:18:16 +00:00
ieee80211_tdma.h Begin plumbing ieee80211_rx_stats through the receive path. 2015-05-25 16:37:41 +00:00
ieee80211_var.h [net80211] document the (not completely complete) set of places where 2016-01-01 00:21:07 +00:00
ieee80211_wds.c net80211: add few missing subtype names. 2016-02-19 05:59:38 +00:00
ieee80211_wds.h
ieee80211_xauth.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ieee80211.c net80211: remove redundant locking. 2016-02-28 23:48:34 +00:00
ieee80211.h net80211: add few missing subtype names. 2016-02-19 05:59:38 +00:00