summaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorAvri Altman <avri.altman@intel.com>2015-08-18 15:52:07 +0200
committerJohannes Berg <johannes.berg@intel.com>2015-09-04 14:25:46 +0200
commit22f66895e60cfc55b92f6fa93f05bb3fbdbd0bed (patch)
treea76a60a63d227291e39e7b9d46579f435292d2f3 /include/net
parentmac80211: Do not use sizeof() on pointer type (diff)
downloadlinux-22f66895e60cfc55b92f6fa93f05bb3fbdbd0bed.tar.xz
linux-22f66895e60cfc55b92f6fa93f05bb3fbdbd0bed.zip
mac80211: protect non-HT BSS when HT TDLS traffic exists
HT TDLS traffic should be protected in a non-HT BSS to avoid collisions. Therefore, when TDLS peers join/leave, check if protection is (now) needed and set the ht_operation_mode of the virtual interface according to the HT capabilities of the TDLS peer(s). This works because a non-HT BSS connection never sets (or otherwise uses) the ht_operation_mode; it just means that drivers must be aware that this field applies to all HT traffic for this virtual interface, not just the traffic within the BSS. Document that. Signed-off-by: Avri Altman <avri.altman@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/mac80211.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index e3314e516681..bfc569498bfa 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -477,7 +477,9 @@ struct ieee80211_event {
* @chandef: Channel definition for this BSS -- the hardware might be
* configured a higher bandwidth than this BSS uses, for example.
* @ht_operation_mode: HT operation mode like in &struct ieee80211_ht_operation.
- * This field is only valid when the channel type is one of the HT types.
+ * This field is only valid when the channel is a wide HT/VHT channel.
+ * Note that with TDLS this can be the case (channel is HT, protection must
+ * be used from this field) even when the BSS association isn't using HT.
* @cqm_rssi_thold: Connection quality monitor RSSI threshold, a zero value
* implies disabled
* @cqm_rssi_hyst: Connection quality monitor RSSI hysteresis