Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Sep 2014 07:16:01 +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: r271249 - head/sys/dev/iwn
Message-ID:  <201409080716.s887G1LD095471@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Mon Sep  8 07:16:00 2014
New Revision: 271249
URL: http://svnweb.freebsd.org/changeset/base/271249

Log:
  Implement htprotmode handling.
  
  This is separate to 11g protection - the default is to RTS protect
  11n frames, including A-MPDU frames.
  
  Tested:
  
  * Intel 5100, STA mode

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Mon Sep  8 05:14:58 2014	(r271248)
+++ head/sys/dev/iwn/if_iwn.c	Mon Sep  8 07:16:00 2014	(r271249)
@@ -4206,11 +4206,11 @@ iwn_check_rate_needs_protection(struct i
 		return (0);
 
 	/*
-	 * If it's an 11n rate, then for now we enable
-	 * protection.
+	 * If it's an 11n rate - no protection.
+	 * We'll do it via a specific 11n check.
 	 */
 	if (rate & IEEE80211_RATE_MCS) {
-		return (1);
+		return (0);
 	}
 
 	/*
@@ -4440,6 +4440,9 @@ iwn_tx_data(struct iwn_softc *sc, struct
 				flags |= IWN_TX_NEED_CTS;
 			else if (ic->ic_protmode == IEEE80211_PROT_RTSCTS)
 				flags |= IWN_TX_NEED_RTS;
+		} else if ((rate & IEEE80211_RATE_MCS) &&
+			(ic->ic_htprotmode == IEEE80211_PROT_RTSCTS)) {
+			flags |= IWN_TX_NEED_RTS;
 		}
 
 		/* XXX HT protection? */



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