On 01/20/2011 09:39 AM, Johannes Berg wrote:
On Thu, 2011-01-20 at 09:32 -0800, greearb@xxxxxxxxxxxxxxx wrote:
- ieee80211_offchannel_stop_beaconing(local);
+ if (local->ops->sw_scan_start_cur&&
+ local->scan_req->n_channels == 1&&
+ local->scan_req->channels[0] == local->hw.conf.channel) {
+ __set_bit(SCAN_ON_CUR_CHANNEL,&local->scanning);
+ drv_sw_scan_start_cur(local, true);
+ } else
+ drv_sw_scan_start(local);
This doesn't seem to make much sense either -- even if we do a scan over
multiple channels we should be able to optimise the part on the current
channel (maybe put it at the beginning or end too).
Maybe..but user-space can specify the channels it wants to scan,
and I assume that means what order to scan them in. I have no
idea if changing that order would confuse some application.
It seems to me that it would take quite a bit of re-work of the
mac80211 scanning logic to deal with scanning on the current
channel w/out affecting other tx/rx packets (as my patch attempts
to do), without setting some explicit flag before you enter
the scan state machine.
Thanks,
Ben
johannes
--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc http://www.candelatech.com
--
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