svn commit: r220660 - head/sys/dev/iwn
Bernhard Schmidt
bschmidt at FreeBSD.org
Fri Apr 15 16:55:46 UTC 2011
Author: bschmidt
Date: Fri Apr 15 16:55:45 2011
New Revision: 220660
URL: http://svn.freebsd.org/changeset/base/220660
Log:
Only handle beacon misses while in RUN state and not scanning.
Modified:
head/sys/dev/iwn/if_iwn.c
Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c Fri Apr 15 16:50:37 2011 (r220659)
+++ head/sys/dev/iwn/if_iwn.c Fri Apr 15 16:55:45 2011 (r220660)
@@ -2463,23 +2463,22 @@ iwn_notif_intr(struct iwn_softc *sc)
BUS_DMASYNC_POSTREAD);
misses = le32toh(miss->consecutive);
- /* XXX not sure why we're notified w/ zero */
- if (misses == 0)
- break;
DPRINTF(sc, IWN_DEBUG_STATE,
"%s: beacons missed %d/%d\n", __func__,
misses, le32toh(miss->total));
-
/*
* If more than 5 consecutive beacons are missed,
* reinitialize the sensitivity state machine.
*/
- if (vap->iv_state == IEEE80211_S_RUN && misses > 5)
- (void) iwn_init_sensitivity(sc);
- if (misses >= vap->iv_bmissthreshold) {
- IWN_UNLOCK(sc);
- ieee80211_beacon_miss(ic);
- IWN_LOCK(sc);
+ if (vap->iv_state == IEEE80211_S_RUN &&
+ (ic->ic_flags & IEEE80211_F_SCAN) != 0) {
+ if (misses > 5)
+ (void)iwn_init_sensitivity(sc);
+ if (misses >= vap->iv_bmissthreshold) {
+ IWN_UNLOCK(sc);
+ ieee80211_beacon_miss(ic);
+ IWN_LOCK(sc);
+ }
}
break;
}
More information about the svn-src-head
mailing list