diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-02-23 18:02:49 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-02-23 18:02:49 +0000 |
commit | 78bbe2dbcf777adc52b5f0dc6e43e7b1e2bec80b (patch) | |
tree | 8f6c392b7d5a36867cf4997d9e1833ad951a453e | |
parent | c215f2d1d68e664e76bba2b749fd405cf3edccc9 (diff) |
mac80211: fix monitor mode channel reporting
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35761 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | package/mac80211/patches/300-pending_work.patch | 25 | ||||
-rw-r--r-- | package/mac80211/patches/523-mac80211_configure_antenna_gain.patch | 2 |
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 c6633af8a..11c9a5af4 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 dd2ff6ad7..99bd2e3ba 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, |