summaryrefslogtreecommitdiff
path: root/include/net/cfg80211.h
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2015-03-18 08:46:08 +0200
committerJohannes Berg <johannes.berg@intel.com>2015-03-30 10:26:36 +0200
commita38700dd486f3def34cef47d00e2d360a04a7bc8 (patch)
tree8f2deebf8c3c4b9079f844249f3c5201e989ae74 /include/net/cfg80211.h
parent3a323d4e17dd5a84f6ad036e6f985d263ca973ed (diff)
downloadlwn-a38700dd486f3def34cef47d00e2d360a04a7bc8.tar.gz
lwn-a38700dd486f3def34cef47d00e2d360a04a7bc8.zip
cfg/mac80211: add regulatory classes IE during TDLS setup
Seems Broadcom TDLS peers (Nexus 5, Xperia Z3) refuse to allow TDLS connection when channel-switching is supported but the regulatory classes IE is missing from the setup request. Add a chandef to reg-class translation function to cfg80211 and use it to add the required IE during setup. For now add only the current regulatory class as supported - it is enough to resolve the compatibility issue. Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r--include/net/cfg80211.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 12a6121ea76e..c4d873b8f32d 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -4903,6 +4903,17 @@ void cfg80211_ch_switch_started_notify(struct net_device *dev,
bool ieee80211_operating_class_to_band(u8 operating_class,
enum ieee80211_band *band);
+/**
+ * ieee80211_chandef_to_operating_class - convert chandef to operation class
+ *
+ * @chandef: the chandef to convert
+ * @op_class: a pointer to the resulting operating class
+ *
+ * Returns %true if the conversion was successful, %false otherwise.
+ */
+bool ieee80211_chandef_to_operating_class(struct cfg80211_chan_def *chandef,
+ u8 *op_class);
+
/*
* cfg80211_tdls_oper_request - request userspace to perform TDLS operation
* @dev: the device on which the operation is requested