On Mon, Apr 6, 2009 at 1:51 PM, Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx> wrote: > Am Montag, 6. April 2009 schrieb Kalle Valo: > >> But ath9k nor iwlwifi don't support beacon filtering and this is a >> problem in mac80211. We need to disable the beacon loss check in >> mac80211, most probably by stopping the associated timer whenever >> scanning. > > Yeah, but the first execution of the timer will then also detect > beacon loss: > > 1006 if (!((local->hw.flags & IEEE80211_HW_BEACON_FILTER) && > 1007 (local->hw.conf.flags & IEEE80211_CONF_PS)) && > 1008 time_after(jiffies, > 1009 ifmgd->last_beacon + IEEE80211_MONITORING_INTERVAL)) { > > If the scan took longer then IEEE80211_MONITORING_INTERVAL (=2 sec) this > condition will apply just after the scan finished. Not if we do "mod_timer(&ifmgd->timer, jiffies + IEEE80211_MONITORING_INTERVAL)" after the scan has finished. That way there's enought time to receive beacons before the timer triggers. > Maybe this issue could be > avoided by making the beacon loss detection smarter then just checking if no > beacon was received within the last two seconds. Definitely the beacon loss logic should be smarter, but I think that should be improved separately. I just have tried to do small changes at a time to avoid regressions and I didn't even consider improving the beacon loss logic. Kalle -- 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