Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Aug 2011 14:11:00 +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: r225145 - head/sys/dev/ath
Message-ID:  <201108241411.p7OEB03r057961@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Wed Aug 24 14:11:00 2011
New Revision: 225145
URL: http://svn.freebsd.org/changeset/base/225145

Log:
  Fix a missing initialisation of bt_flags when setting up the TDMA beacon.
  
  The AR5212 HAL didn't check this field; timers are enabled a different
  way.
  
  The AR5416 HAL however did, and since this field was uninitialised, it had
  whatever was on the stack at the time. This lead to "unpredictable"
  behaviour.
  
  This allows TDMA to work on the AR5416 and later chipsets.
  
  Thanks to:	paradyse@gmail.com
  Approved by:	re (kib, blanket)

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

Modified: head/sys/dev/ath/if_ath.c
==============================================================================
--- head/sys/dev/ath/if_ath.c	Wed Aug 24 14:09:32 2011	(r225144)
+++ head/sys/dev/ath/if_ath.c	Wed Aug 24 14:11:00 2011	(r225145)
@@ -5485,6 +5485,8 @@ ath_tdma_settimers(struct ath_softc *sc,
 	bt.bt_nextdba = (nexttbtt<<3) - sc->sc_tdmadbaprep;
 	bt.bt_nextswba = (nexttbtt<<3) - sc->sc_tdmaswbaprep;
 	bt.bt_nextatim = nexttbtt+1;
+	/* Enables TBTT, DBA, SWBA timers by default */
+	bt.bt_flags = 0;
 	ath_hal_beaconsettimers(ah, &bt);
 }
 



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