aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/530-cfg80211_get_freq.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/530-cfg80211_get_freq.patch')
-rw-r--r--package/mac80211/patches/530-cfg80211_get_freq.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/package/mac80211/patches/530-cfg80211_get_freq.patch b/package/mac80211/patches/530-cfg80211_get_freq.patch
new file mode 100644
index 0000000000..a2fb29ee2a
--- /dev/null
+++ b/package/mac80211/patches/530-cfg80211_get_freq.patch
@@ -0,0 +1,34 @@
+--- a/net/wireless/core.h
++++ b/net/wireless/core.h
+@@ -76,6 +76,7 @@ struct cfg80211_registered_device {
+
+ /* current channel */
+ struct ieee80211_channel *channel;
++ enum nl80211_channel_type channel_type;
+
+ /* must be last because of the way we do wiphy_priv(),
+ * and it should at least be aligned to NETDEV_ALIGN */
+--- a/net/wireless/chan.c
++++ b/net/wireless/chan.c
+@@ -97,6 +97,7 @@ int rdev_set_freq(struct cfg80211_regist
+ return result;
+
+ rdev->channel = chan;
++ rdev->channel_type = channel_type;
+
+ return 0;
+ }
+--- a/net/wireless/nl80211.c
++++ b/net/wireless/nl80211.c
+@@ -881,6 +881,11 @@ static int nl80211_send_iface(struct sk_
+ NLA_PUT_U32(msg, NL80211_ATTR_WIPHY, rdev->wiphy_idx);
+ NLA_PUT_STRING(msg, NL80211_ATTR_IFNAME, dev->name);
+ NLA_PUT_U32(msg, NL80211_ATTR_IFTYPE, dev->ieee80211_ptr->iftype);
++ if (rdev->channel) {
++ NLA_PUT_U32(msg, NL80211_ATTR_WIPHY_FREQ, rdev->channel->center_freq);
++ NLA_PUT_U32(msg, NL80211_ATTR_WIPHY_CHANNEL_TYPE, rdev->channel_type);
++ }
++
+
+ NLA_PUT_U32(msg, NL80211_ATTR_GENERATION,
+ rdev->devlist_generation ^