kern/146517: [ath] [wlan] device timeouts for ath wlan device on recent stable.

Rui Paulo rpaulo at freebsd.org
Mon Jun 21 16:40:03 UTC 2010


The following reply was made to PR kern/146517; it has been noted by GNATS.

From: Rui Paulo <rpaulo at freebsd.org>
To: Alex Kozlov <spam at rm-rf.kiev.ua>
Cc: bug-followup at FreeBSD.org,
 vince at unsane.co.uk
Subject: Re: kern/146517: [ath] [wlan] device timeouts for ath wlan device on recent stable.
Date: Mon, 21 Jun 2010 17:30:30 +0100

 On 21 Jun 2010, at 15:38, Alex Kozlov wrote:
 
 > On Mon, May 31, 2010 at 07:30:04PM +0000, Rui Paulo wrote:
 >>> I confirm this. Atheros 9280, work fine with 8.0R usb stick,
 >>> timeout after few pings with 8.1-BETA1.
 >>> I can try to find a particular commit, that causes this
 >>> regression, if its help.
 >> Yes, please.
 > Sorry for the delay. I think that the culprit is r203959.
 
 Please try this patch.
 
 Index: ar9280_attach.c
 ===================================================================
 --- ar9280_attach.c	(revision 209351)
 +++ ar9280_attach.c	(working copy)
 @@ -346,7 +346,7 @@
  	regWrites = ath_hal_ini_write(ah, &AH5212(ah)->ah_ini_common,
  	    1, regWrites);
  
 -	if (AR_SREV_MERLIN_20(ah) && IS_5GHZ_FAST_CLOCK_EN(ah, chan)) {
 +	if (AR_SREV_MERLIN_20_OR_LATER(ah) && IS_5GHZ_FAST_CLOCK_EN(ah, chan)) {
  		/* 5GHz channels w/ Fast Clock use different modal values */
  		regWrites = ath_hal_ini_write(ah, &AH9280(ah)->ah_ini_xmodes,
  		    modesIndex, regWrites);
 Index: ar5416_reset.c
 ===================================================================
 --- ar5416_reset.c	(revision 209351)
 +++ ar5416_reset.c	(working copy)
 @@ -636,7 +636,8 @@
  		/* treat channel B as channel G , no  B mode suport in owl */
  		rfMode = IEEE80211_IS_CHAN_CCK(chan) ?
  		    AR_PHY_MODE_DYNAMIC : AR_PHY_MODE_OFDM;
 -		if (AR_SREV_MERLIN_20(ah) && IS_5GHZ_FAST_CLOCK_EN(ah, chan)) {
 +		if (AR_SREV_MERLIN_20_OR_LATER(ah) &&
 +		    IS_5GHZ_FAST_CLOCK_EN(ah, chan)) {
  			/* phy mode bits for 5GHz channels require Fast Clock */
  			rfMode |= AR_PHY_MODE_DYNAMIC
  			       |  AR_PHY_MODE_DYN_CCK_DISABLE;
 @@ -1126,7 +1127,7 @@
  {
  	uint32_t pll;
  
 -	if (AR_SREV_MERLIN_20(ah) &&
 +	if (AR_SREV_MERLIN_20_OR_LATER(ah) &&
  	    chan != AH_NULL && IEEE80211_IS_CHAN_5GHZ(chan)) {
  		/*
  		 * PLL WAR for Merlin 2.0/2.1
 
 
 Regards,
 --
 Rui Paulo
 
 


More information about the freebsd-net mailing list