aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-02-23 18:02:49 +0000
committerFelix Fietkau <nbd@openwrt.org>2013-02-23 18:02:49 +0000
commita54ed77ff745a52210601c7c1d1376f1a6ca27b9 (patch)
tree8f6c392b7d5a36867cf4997d9e1833ad951a453e /package/mac80211
parentbdf131a754b72f55a3204a4f33a426fcaea738fb (diff)
downloadmaster-187ad058-a54ed77ff745a52210601c7c1d1376f1a6ca27b9.tar.gz
master-187ad058-a54ed77ff745a52210601c7c1d1376f1a6ca27b9.tar.bz2
master-187ad058-a54ed77ff745a52210601c7c1d1376f1a6ca27b9.zip
mac80211: fix monitor mode channel reporting
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35761 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211')
-rw-r--r--package/mac80211/patches/300-pending_work.patch25
-rw-r--r--package/mac80211/patches/523-mac80211_configure_antenna_gain.patch2
2 files changed, 26 insertions, 1 deletions
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch
index c6633af8a3..11c9a5af4d 100644
--- a/package/mac80211/patches/300-pending_work.patch
+++ b/package/mac80211/patches/300-pending_work.patch
@@ -474,3 +474,28 @@
nla_nest_end(msg, nl_wowlan);
}
#endif
+--- a/net/mac80211/cfg.c
++++ b/net/mac80211/cfg.c
+@@ -3285,13 +3285,19 @@ static int ieee80211_cfg_get_channel(str
+ struct cfg80211_chan_def *chandef)
+ {
+ struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
++ struct ieee80211_local *local = wiphy_priv(wiphy);
+ struct ieee80211_chanctx_conf *chanctx_conf;
+ int ret = -ENODATA;
+
+ rcu_read_lock();
+- chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
+- if (chanctx_conf) {
+- *chandef = chanctx_conf->def;
++ if (local->use_chanctx) {
++ chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
++ if (chanctx_conf) {
++ *chandef = chanctx_conf->def;
++ ret = 0;
++ }
++ } else if (local->open_count == local->monitors) {
++ *chandef = local->monitor_chandef;
+ ret = 0;
+ }
+ rcu_read_unlock();
diff --git a/package/mac80211/patches/523-mac80211_configure_antenna_gain.patch b/package/mac80211/patches/523-mac80211_configure_antenna_gain.patch
index dd2ff6ad7f..99bd2e3ba5 100644
--- a/package/mac80211/patches/523-mac80211_configure_antenna_gain.patch
+++ b/package/mac80211/patches/523-mac80211_configure_antenna_gain.patch
@@ -92,7 +92,7 @@
static int ieee80211_set_wds_peer(struct wiphy *wiphy, struct net_device *dev,
const u8 *addr)
{
-@@ -3369,6 +3382,7 @@ struct cfg80211_ops mac80211_config_ops
+@@ -3375,6 +3388,7 @@ struct cfg80211_ops mac80211_config_ops
.set_wiphy_params = ieee80211_set_wiphy_params,
.set_tx_power = ieee80211_set_tx_power,
.get_tx_power = ieee80211_get_tx_power,