Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Oct 2013 02:30:01 GMT
From:      dfilter@FreeBSD.ORG (dfilter service)
To:        freebsd-wireless@FreeBSD.org
Subject:   Re: kern/183428: commit references a PR
Message-ID:  <201310310230.r9V2U1OV089125@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/183428; it has been noted by GNATS.

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/183428: commit references a PR
Date: Thu, 31 Oct 2013 02:21:56 +0000 (UTC)

 Author: adrian
 Date: Thu Oct 31 02:21:48 2013
 New Revision: 257415
 URL: http://svnweb.freebsd.org/changeset/base/257415
 
 Log:
   Don't base the rate table selection based on the channel mode;
   it needs to check whether there are rate entries in there or not.
   
   PR:		kern/183428
 
 Modified:
   head/sys/dev/iwn/if_iwn.c
 
 Modified: head/sys/dev/iwn/if_iwn.c
 ==============================================================================
 --- head/sys/dev/iwn/if_iwn.c	Thu Oct 31 02:14:28 2013	(r257414)
 +++ head/sys/dev/iwn/if_iwn.c	Thu Oct 31 02:21:48 2013	(r257415)
 @@ -4312,6 +4312,7 @@ iwn_set_link_quality(struct iwn_softc *s
  	struct iwn_cmd_link_quality linkq;
  	uint8_t txant;
  	int i, rate, txrate;
 +	int is_11n;
  
  	DPRINTF(sc, IWN_DEBUG_TRACE, "->%s begin\n", __func__);
  
 @@ -4326,15 +4327,25 @@ iwn_set_link_quality(struct iwn_softc *s
  	linkq.ampdu_threshold = 3;
  	linkq.ampdu_limit = htole16(4000);	/* 4ms */
  
 +	/*
 +	 * Are we using 11n rates? Ensure the channel is
 +	 * 11n _and_ we have some 11n rates, or don't
 +	 * try.
 +	 */
 +	if (IEEE80211_IS_CHAN_HT(ni->ni_chan) && ni->ni_htrates.rs_nrates > 0)
 +		is_11n = 1;
 +	else
 +		is_11n = 0;
 +
  	/* Start at highest available bit-rate. */
 -	if (IEEE80211_IS_CHAN_HT(ni->ni_chan))
 +	if (is_11n)
  		txrate = ni->ni_htrates.rs_nrates - 1;
  	else
  		txrate = rs->rs_nrates - 1;
  	for (i = 0; i < IWN_MAX_TX_RETRIES; i++) {
  		uint32_t plcp;
  
 -		if (IEEE80211_IS_CHAN_HT(ni->ni_chan))
 +		if (is_11n)
  			rate = IEEE80211_RATE_MCS | txrate;
  		else
  			rate = RV(rs->rs_rates[txrate]);
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 



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