summaryrefslogtreecommitdiff
path: root/package/mac80211/patches/530-cfg80211_get_freq.patch
blob: a2fb29ee2a00d1a9448bb1229cf57b02afc7a03e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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 ^