software scan fix - please test (Was: why we can't use the net80211 taskqueue for everything)

Adrian Chadd adrian at freebsd.org
Mon Feb 29 02:34:18 UTC 2016


ok,

Tested this out on iwn and urtwn, with some scans during traffic. So
far so good.

I'll test with ath tonight too just to see.

Thanks!


-adrian


On 28 February 2016 at 11:15, Andriy Voskoboinyk <s3erios at gmail.com> wrote:
> Sat, 20 Feb 2016 12:06:17 +0200 було написано Andriy Voskoboinyk
> <s3erios at gmail.com>:
>
>
>>> hi,
>>>
>>> andriy has a few reviews out that tidy up some things, which I'd reply
>>> to, but .. reviews is offline. So, here's the 30 second version:
>>>
>>> * the net80211 taskqueue runs the software scan engine, and the
>>> software scan engine currently sleeps whilst it's running.
>>>
>>> This means that if you put newstate, deferred transmit, etc into the
>>> net80211 taskqueue, then it just won't run during scan.
>>>
>>> The net80211 software scan thing should be modified to not sleep
>>> whilst it's waiting for scan results and instead just kick off another
>>> timer event to finish that part of the loop. Then yes, we can just
>>> migrate * to the net80211 task queue and use it for all serialisation
>>> of a wifi driver.
>>>
>>> (And yes, I'd like to see that done ASAP..)
>>>
>>> Thanks,
>>>
>>>
>>> -adrian
>>
>>
>> Hi,
>>
>> I have replaced sleeping on conditional variable inside scan task
>> with scan_curchan task rescheduling (so this problem should be fixed now).
>>
>> For everyone, who wishes to test: apply the attached patch
>> (merged from D5133, D5137, D5139, D5140, D5142, D5143, D5145, D5147, D5148
>> and D5152)
>> and rebuild + install the kernel. Scan should work as before.
>>
>> Thanks!
>
>
> Newer patch includes fix for
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197498#c7
> (D5482) - so, scanning for adhoc/hostap mode should work now.


More information about the freebsd-wireless mailing list