Search Linux Wireless

Re: [RFC 2/2] mac80211: revamp interface and filter configuration

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

 



On Sun, 2007-09-02 at 22:07 -0400, Daniel Drake wrote:

> This is slightly freaky for zd1211rw and probably other USB drivers. In 
> most cases we can't act upon any of those filter flag changes in atomic 
> context.

Yeah, I know, but it's running under the tx lock and I haven't seen a
way to drop that (yet)

> We could defer work like we do for multicast lists, but then the driver 
> would be lying in that it would return from configure_filter saying that 
> it has honoured some flags without actually having done so (yet).

Yup, I saw that you do that anyway so didn't think much of it.

> Will that be a problem? I'm thinking maybe not, since the flags only 
> affect RX and we can't determine which frames will be in the air at any 
> time. [as opposed to such atomicity problems that relate to TX, we can 
> just disable TX until the work has completed]

It does matter a bit for scanning, if you have BSSID filters that affect
beacons and probe responses then you would want to turn those off before
transmitting the next probe response. However, when the multicast_count
parameter is -1 to indicate no changes in the multicast list (and you
then need to use the cached hash value in zd1211) the callback actually
*can* sleep.

This is a rather weird area of the patch. Splitting it up into two
callbacks makes no sense, and so far I have not understood why it runs
under the TX lock so haven't changed it.

> > +	 * This callback is must be implemented.
> > +	 */
> 
> Typo.

Good point, thanks.

Slightly updated patch at
http://johannes.sipsolutions.net/patches/kernel/all/2007-09-03-08:32/021-mac80211-filter-flags.patch

johannes

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux