Page MenuHomeFreeBSD

net80211: split scan_task() (#3) (into scan_start() and scan_curchan_task() functions)
ClosedPublic

Authored by avos on Jan 30 2016, 10:41 PM.
Tags
None
Referenced Files
F105550591: D5145.diff
Tue, Dec 17, 1:39 PM
Unknown Object (File)
Wed, Dec 11, 3:00 AM
Unknown Object (File)
Nov 14 2024, 3:19 AM
Unknown Object (File)
Oct 20 2024, 10:55 AM
Unknown Object (File)
Oct 16 2024, 6:24 PM
Unknown Object (File)
Oct 16 2024, 6:24 PM
Unknown Object (File)
Oct 16 2024, 6:24 PM
Unknown Object (File)
Oct 16 2024, 6:01 PM
Subscribers

Details

Summary

(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).

Test Plan

Tested with:

  • Intel 3945BG, STA mode;
  • RTL8188EU, STA mode.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

avos retitled this revision from to net80211: split scan_task() (#3) (into scan_start() and scan_curchan_task() functions).
avos updated this object.
avos edited the test plan for this revision. (Show Details)
avos added a reviewer: adrian.
avos set the repository for this revision to rS FreeBSD src repository - subversion.
adrian edited edge metadata.
This revision is now accepted and ready to land.Feb 29 2016, 7:28 AM
This revision was automatically updated to reflect the committed changes.