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
Unknown Object (File)
Jan 30 2024, 9:54 AM
Unknown Object (File)
Jan 24 2024, 4:48 PM
Unknown Object (File)
Jan 16 2024, 7:54 AM
Unknown Object (File)
Jan 7 2024, 8:17 PM
Unknown Object (File)
Jan 7 2024, 8:17 PM
Unknown Object (File)
Jan 7 2024, 8:17 PM
Unknown Object (File)
Jan 7 2024, 8:17 PM
Unknown Object (File)
Jan 7 2024, 8:05 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 Not Applicable
Unit
Tests Not Applicable

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.