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

From: dfil...@freebsd.org (dfilter service)
To: bug-follo...@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-...@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
 
_______________________________________________
freebsd-wireless@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-wireless
To unsubscribe, send any mail to "freebsd-wireless-unsubscr...@freebsd.org"

Reply via email to