Date: Fri, 15 Apr 2011 16:55:45 +0000 (UTC) From: Bernhard Schmidt <bschmidt@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r220660 - head/sys/dev/iwn Message-ID: <201104151655.p3FGtjAI075908@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104151655.p3FGtjAI075908>