Re: ath9k becon loss messages

From: Kalle Valo
Date: Mon Apr 06 2009 - 07:06:21 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/