Issues with urtwn
Adrian Chadd
adrian at freebsd.org
Sat Dec 20 19:41:45 UTC 2014
It's a race condition in the scan handling. :(
When scan is cancelled (eg because something cancels it, or the state
transitions to IDLE or something because the VAP resets) then it
should be setting a flag to cancel things and the VAP should come out
of powerstate.
However, there seems to be some conditions where the scan is coming
out of that loop because it's been aborted/stopped, so it's not
complete - but then it stays in powersave mode because whatever's
supposed to either change it (eg a state change, a received becaon,
TIM coming in, etc) doesn't follow. So it stays in power save.
The driver routines are called without the comlock held, so that's a
small, narrow window for some state change to come through that
doesn't trigger the scan code to see the scan is canceled and "finish"
the scan (which would reset the vap powersave state.)
I've added another cancel check in scan_task(). Please update this and
see what happens!
-adrian
More information about the freebsd-wireless
mailing list