summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-01-15 07:39:27 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-01-15 07:39:27 +0000
commit7a2b1e4d355ee5b7399eb07c3a06284970d05c36 (patch)
treefa9e1dccd1e45e8548787b58d793f0b8abe6d40b
parent57f7e19c5830714e4863e0117f9bc5613ddf01cf (diff)
mac80211: add some ibss related fixes from linux-wireless@
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19145 3c298f89-4303-0410-b956-a3cf2f4a3e73
-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 000000000..1934fccac
--- /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 000000000..628fc1d20
--- /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;
+