socsvn commit: r254849 - soc2013/ccqin/head/sys/net80211

ccqin at FreeBSD.org ccqin at FreeBSD.org
Tue Jul 16 18:02:44 UTC 2013


Author: ccqin
Date: Tue Jul 16 18:02:44 2013
New Revision: 254849
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=254849

Log:
  If enable rts/cts and is pre-802.11n, blank tries 1, 2, 3.

Modified:
  soc2013/ccqin/head/sys/net80211/ieee80211_ratectl.h

Modified: soc2013/ccqin/head/sys/net80211/ieee80211_ratectl.h
==============================================================================
--- soc2013/ccqin/head/sys/net80211/ieee80211_ratectl.h	Tue Jul 16 16:37:08 2013	(r254848)
+++ soc2013/ccqin/head/sys/net80211/ieee80211_ratectl.h	Tue Jul 16 18:02:44 2013	(r254849)
@@ -65,7 +65,7 @@
 	void	(*ir_node_init)(struct ieee80211_node *);
 	void	(*ir_node_deinit)(struct ieee80211_node *);
 	int	(*ir_rate)(struct ieee80211_node *, void *, uint32_t);
-	void	(*ir_rates)(struct ieee80211_node *, struct ieee80211_rc_series *);
+	void	(*ir_rates)(struct ieee80211_node *, struct ieee80211_rc_series *, int, size_t);
 	void	(*ir_tx_complete)(const struct ieee80211vap *,
 	    			  const struct ieee80211_node *, int,
 	    			  void *, void *);
@@ -113,11 +113,17 @@
 }
 
 static void __inline
-ieee80211_ratectl_rates(struct ieee80211_node *ni, struct ieee80211_rc_series *rc)
+ieee80211_ratectl_rates(struct ieee80211_node *ni, struct ieee80211_rc_series *rc,
+		int shortPreamble, size_t frameLen)
 {
 	const struct ieee80211vap *vap = ni->ni_vap;
+	struct ieee80211com *ic = vap->iv_ic; 
 
-	vap->iv_rate->ir_rates(ni, rc);
+	vap->iv_rate->ir_rates(ni, rc, shortPreamble, frameLen);
+
+	/* if enable rts/cts and is pre-802.11n, blank tries 1, 2, 3 */
+	if ((rc[0].flags & IEEE80211_RATECTL_RTSCTS_FLAG) && !(ic->ic_htcaps & IEEE80211_HTC_HT))
+		rc[1].tries = rc[2].tries = rc[3].tries = 0;
 }
 
 static void __inline


More information about the svn-soc-all mailing list