35 lines
1.1 KiB
Diff
35 lines
1.1 KiB
Diff
--- 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
|
|
@@ -886,6 +886,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 ^
|