aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-01-15 07:39:27 +0000
committerFelix Fietkau <nbd@openwrt.org>2010-01-15 07:39:27 +0000
commitbc28dd7d7dd02282aba281dd01045d42cb1edd21 (patch)
tree9247cb61664ec6d082cbde347d8dc144a25e0fee /package/mac80211
parentb8ef6702020b8a3c748a2d888b0e66445ba4b851 (diff)
downloadupstream-bc28dd7d7dd02282aba281dd01045d42cb1edd21.tar.gz
upstream-bc28dd7d7dd02282aba281dd01045d42cb1edd21.tar.bz2
upstream-bc28dd7d7dd02282aba281dd01045d42cb1edd21.zip
mac80211: add some ibss related fixes from linux-wireless@
SVN-Revision: 19145
Diffstat (limited to 'package/mac80211')
-rw-r--r--package/mac80211/patches/301-mac80211_tx_queue_wake.patch15
-rw-r--r--package/mac80211/patches/302-mac80211_pwr_mgmt_fix.patch12
2 files changed, 27 insertions, 0 deletions
diff --git a/package/mac80211/patches/301-mac80211_tx_queue_wake.patch b/package/mac80211/patches/301-mac80211_tx_queue_wake.patch
new file mode 100644
index 0000000000..1934fccac8
--- /dev/null
+++ b/package/mac80211/patches/301-mac80211_tx_queue_wake.patch
@@ -0,0 +1,15 @@
+--- a/net/mac80211/offchannel.c
++++ b/net/mac80211/offchannel.c
+@@ -153,9 +153,11 @@ void ieee80211_offchannel_return(struct
+ if (sdata->vif.type == NL80211_IFTYPE_STATION) {
+ if (sdata->u.mgd.associated)
+ ieee80211_offchannel_ps_disable(sdata);
+- netif_tx_wake_all_queues(sdata->dev);
+ }
+
++ if (sdata->vif.type != NL80211_IFTYPE_MONITOR)
++ netif_tx_wake_all_queues(sdata->dev);
++
+ /* re-enable beaconing */
+ if (enable_beaconing &&
+ (sdata->vif.type == NL80211_IFTYPE_AP ||
diff --git a/package/mac80211/patches/302-mac80211_pwr_mgmt_fix.patch b/package/mac80211/patches/302-mac80211_pwr_mgmt_fix.patch
new file mode 100644
index 0000000000..628fc1d20d
--- /dev/null
+++ b/package/mac80211/patches/302-mac80211_pwr_mgmt_fix.patch
@@ -0,0 +1,12 @@
+--- a/net/mac80211/cfg.c
++++ b/net/mac80211/cfg.c
+@@ -1384,6 +1384,9 @@ static int ieee80211_set_power_mgmt(stru
+ struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
+ struct ieee80211_conf *conf = &local->hw.conf;
+
++ if (sdata->vif.type != NL80211_IFTYPE_STATION)
++ return 0;
++
+ if (!(local->hw.flags & IEEE80211_HW_SUPPORTS_PS))
+ return -EOPNOTSUPP;
+