svn commit: r187619 - user/sam/wifi/sys/dev/ath

Sam Leffler sam at FreeBSD.org
Thu Jan 22 22:33:40 PST 2009


Author: sam
Date: Fri Jan 23 06:33:39 2009
New Revision: 187619
URL: http://svn.freebsd.org/changeset/base/187619

Log:
  merge r187608: don't run the calibration code if scanning

Modified:
  user/sam/wifi/sys/dev/ath/if_ath.c

Modified: user/sam/wifi/sys/dev/ath/if_ath.c
==============================================================================
--- user/sam/wifi/sys/dev/ath/if_ath.c	Fri Jan 23 06:31:10 2009	(r187618)
+++ user/sam/wifi/sys/dev/ath/if_ath.c	Fri Jan 23 06:33:39 2009	(r187619)
@@ -5811,9 +5811,12 @@ ath_calibrate(void *arg)
 	struct ath_softc *sc = arg;
 	struct ath_hal *ah = sc->sc_ah;
 	struct ifnet *ifp = sc->sc_ifp;
+	struct ieee80211com *ic = ifp->if_l2com;
 	HAL_BOOL longCal, isCalDone;
 	int nextcal;
 
+	if (ic->ic_flags & IEEE80211_F_SCAN)	/* defer, off channel */
+		goto restart;
 	longCal = (ticks - sc->sc_lastlongcal >= ath_longcalinterval*hz);
 	if (longCal) {
 		sc->sc_stats.ast_per_cal++;
@@ -5851,6 +5854,7 @@ ath_calibrate(void *arg)
 		sc->sc_stats.ast_per_calfail++;
 	}
 	if (!isCalDone) {
+restart:
 		/*
 		 * Use a shorter interval to potentially collect multiple
 		 * data samples required to complete calibration.  Once


More information about the svn-src-user mailing list