Page MenuHomeFreeBSD

net80211: fix scanning after D5145 + fix PR 197498
ClosedPublic

Authored by avos on Feb 28 2016, 9:31 AM.
Tags
None
Referenced Files
F131602234: D5482.diff
Thu, Oct 9, 3:53 PM
Unknown Object (File)
Wed, Oct 8, 2:49 AM
Unknown Object (File)
Sat, Oct 4, 2:24 AM
Unknown Object (File)
Sat, Oct 4, 12:50 AM
Unknown Object (File)
Fri, Oct 3, 11:36 PM
Unknown Object (File)
Fri, Oct 3, 3:52 PM
Unknown Object (File)
Fri, Oct 3, 7:13 AM
Unknown Object (File)
Thu, Oct 2, 6:18 PM
Subscribers

Details

Summary
  • In case, when we are doing <smth> -> INIT (FEXT_REINIT) -> <smth2> state transition, cancel_scan() may be called in the first transition. Reenqueue second state transition, so things will be executed in order.
  • Discard any AUTH+ state transition request when INIT -> SCAN transition is not done.
  • Allow to track discarded state transitions via 'state' debugging category.
Test Plan

Tested with:

  • RTL8188EU, HOSTAP mode.
  • RTL8188CUS, STA mode.
  • Intel 3945BG, IBSS and STA modes.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

avos retitled this revision from to net80211: fix scanning after D5145 + fix PR 197498.
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.

good catch!

This revision is now accepted and ready to land.Feb 28 2016, 6:51 PM

This is not really reliable solution (i.e., scenario, described in https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197498#c6 is still possible - however, now it will require specially crafted delays to reproduce).

we can do it later with wtap and extending it to support controllable sleep/wake points. :)

avos updated this object.
avos edited the test plan for this revision. (Show Details)
avos edited edge metadata.
  • Fix an added comment in ieee80211_newstate_cb() (IEEE80211_FEXT_STATEWAIT flag will be dropped before ieee80211_new_state_locked(), so this warning is not possible here).
  • Discard any AUTH+ state transition request when INIT -> SCAN transition is not done.

(now it will work without D5145)

This revision now requires review to proceed.Feb 28 2016, 10:56 PM
This revision is now accepted and ready to land.Feb 29 2016, 7:25 AM
This revision was automatically updated to reflect the committed changes.