1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-26 05:43:20 +02:00
openwrt-xburst/package/mac80211/patches/560-cfg80211_get_freq.patch
nbd 66fdfcd513 iw, mac80211: get the frequency info per-netdev instead of per-phy
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19194 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-17 20:49:28 +00:00

35 lines
1.1 KiB
Diff

--- a/net/wireless/core.h
+++ b/net/wireless/core.h
@@ -75,6 +75,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 ^