Search Linux Wireless

Re: [PATCH v2] mac80211: Optimize scans on current operating channel.

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

 



On Wed, 2011-01-26 at 10:39 -0800, Ben Greear wrote:

> The offchannel_stop_beaconing doesn't actually change
> state, it just calls
> 
>   	ieee80211_bss_info_change_notify(
> 				sdata, BSS_CHANGED_BEACON_ENABLED);
> 
> That method will disable beaconing if SCAN_SW_SCANNING is set,
> regardless of current channel.
> 
> So, if that work.c logic is happening during a scan, we
> will always disable scanning, but if we are not SW scanning,
> then that offchannel_stop_beaconing won't actually do
> anything useful.


> My first inclination is to add another check in bss_info_change_notify
> to test if we are really off-channel:
> 
> 		if (local->quiescing || !ieee80211_sdata_running(sdata) ||
> 		    (test_bit(SCAN_SW_SCANNING, &local->scanning) &&
> 		     test_bit(SCAN_OFF_CHANNEL, &local->scanning)) {
> 			sdata->vif.bss_conf.enable_beacon = false;
> 
> And either set the SCAN_OFF_CHANNEL flag before calling offchannel_stop_beaconing,
> or perhaps set that flag in offchannel_stop_beaconing.  The first might be
> less risky, but that leaves the work.c logic funky in my opinion, since if
> we are not actually scanning, beacons will still be enabled.

Yes, I'm a bit concerned about that too -- that bit really shouldn't be
in the scan bits, and then we can set it in offchannel_stop_beaconing or
whatever the combination ends up being called.

> I could use some suggestions on how to proceed.  I am overly tempted to
> start changing everything in sight, but that is likely to cause all sorts
> of bugs, subtle and otherwise....

:)

I've long been tempted to rewrite scanning in terms of off-channel work
items ... Not really sure what to do.

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 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