Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Mar 2015 21:41:06 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r280825 - head/sys/dev/ath
Message-ID:  <201503292141.t2TLf6Ko050382@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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()



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201503292141.t2TLf6Ko050382>