[net80211] PR kern/166286: force a channel change upon a HT info change

Adrian Chadd adrian at freebsd.org
Wed Mar 21 17:28:23 UTC 2012


On 20 March 2012 20:24, Adrian Chadd <adrian at freebsd.org> wrote:
> Hi,
>
> This patch forces a channel change - sta_recv_mgmt() doesn't set the
> channel width early enough to catch it after the ASSOC -> RUN state
> change. So there's a transition to HT20 upon association, but it
> doesn't transition to HT40 via ic_chan_set(). Thus the hardware is in
> HT20 mode, but HT40 frames are sent to the hardware .They obviously
> fail.

Bernhard and I had a chat on IRC. The main problem with this approach
is that any other devices (eg iwn) don't do anything in their
ic_chan_set() method. I also thought about it a bit more and can see
how the gap between the htinfo update and notifying the driver could
be quite annoying.

That said, there _are_ plenty of races in net80211 at the moment as
things go poking through the ic/vap state without holding locks. SMP
and preemption makes this all quite scary.


Adrian


More information about the freebsd-wireless mailing list