On Sat, 2009-03-14 at 17:07 +0100, Johannes Berg wrote: > On Sat, 2009-03-14 at 17:32 +0200, Kalle Valo wrote: > > Johannes Berg wrote: > > > On Sat, 2009-03-14 at 16:44 +0200, Kalle Valo wrote: > > >> ieee80211_tx_h_check_assoc() was dropping everything else than probe > > >> requests during software scan. So the null frame with the power save > > >> bit was dropped and AP never received it. This meant that AP never > > >> buffered any frames for the station during software scan. > > >> > > >> Fix this by allowing to transmit both probe request and null frames > > >> during software scan. Tested with stlc45xx. > > > > > > Would it make sense to reorder the scan code instead? > > > > Perhaps. I chose this path only because it was simple to implement :) > > I'll take a look at the scan code in more detail and fix it there. > > You're kinda right too, we want to disable the queues first, then set > sw_scanning/notify the driver, and then send the nullfunc, I think. So > it's either this patch, or iterating the interface list twice. Related to this, shouldn't the driver notification: if (local->ops->sw_scan_start) local->ops->sw_scan_start(local_to_hw(local)); be moved to _after_ we stop the subif queues, disable beacons and send the nullfunc? The sw_scan_complete is done before we re-enable everything, so it seems logical that the start should be after we disable it all. Michael? johannes
Attachment:
signature.asc
Description: This is a digitally signed message part