svn commit: r280825 - head/sys/dev/ath

Adrian Chadd adrian at FreeBSD.org
Sun Mar 29 21:41:06 UTC 2015


Author: adrian
Date: Sun Mar 29 21:41:05 2015
New Revision: 280825
URL: https://svnweb.freebsd.org/changeset/base/280825

Log:
  Fix more ticks wrapping bugs exposed by the ticks wrapping bug check.
  
  This symptom is "calibrations don't ever run", which may cause some
  pretty spectacularly bad behaviour in noisy environments or with longer
  uptimes.
  
  Thanks to dtrace to make it easy to check if specific non-inlined functions
  are getting called by things like the ANI and calibration HAL methods.
  Grr.
  
  Tested:
  
  * AR9380, STA mode

Modified:
  head/sys/dev/ath/if_ath.c

Modified: head/sys/dev/ath/if_ath.c
==============================================================================
--- head/sys/dev/ath/if_ath.c	Sun Mar 29 21:12:59 2015	(r280824)
+++ head/sys/dev/ath/if_ath.c	Sun Mar 29 21:41:05 2015	(r280825)
@@ -2546,11 +2546,11 @@ ath_init(void *arg)
 	 * state cached in the driver.
 	 */
 	sc->sc_diversity = ath_hal_getdiversity(ah);
-	sc->sc_lastlongcal = 0;
+	sc->sc_lastlongcal = ticks;
 	sc->sc_resetcal = 1;
 	sc->sc_lastcalreset = 0;
-	sc->sc_lastani = 0;
-	sc->sc_lastshortcal = 0;
+	sc->sc_lastani = ticks;
+	sc->sc_lastshortcal = ticks;
 	sc->sc_doresetcal = AH_FALSE;
 	/*
 	 * Beacon timers were cleared here; give ath_newstate()


More information about the svn-src-head mailing list