Search Linux Wireless

Re: [PATCH 3/3] mac80211: compute chanctx refcount dynamically

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2014-03-11 at 14:33 +0100, Michal Kazior wrote:

> >> I'm planning on adding `struct list_head` to sdata and chanctx to be
> >> able to iterate over assigned (and reserved, in the future) chanctx.
> >> What do you think? Do you have other ideas?
> >
> > I guess that seems reasonable - not sure why you'd want the reserved
> > one? Some of the maintenance there might be tricky?
> 
> For multi-vif we need to be able to track list of interfaces that have
> a reservation. This is needed for example for chandef calculation
> (e.g. to see if you can start a new vif on given chanctx that is part
> of a reservation already, etc).
> 
> It's also necessary so you can synchronize CSA across interfaces with
> the chanctx reservation that happen "in place" when you're out of
> max_num_different_channels. In that case you must unassign all
> interfaces, free chanctx, create new chanctx, and then assign the
> reservation interfaces.
> 
> Actually I think there's also one thing that might benefit from
> chanctx-vif list tracking: ieee80211_recalc_chanctx_chantype(). It
> seems to complain with WARN_ON splat when I reload driver when more
> than 1 vif is running because it doesn't find a non-NULL `compat`
> chandef (rightfully so as local->interfaces is empty at that point due
> to ieee80211_remove_interfaces).

Ok, makes sense. I guess I don't see any easier solution either.

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux