mac80211: add some ibss related fixes from linux-wireless@
authorFelix Fietkau <nbd@openwrt.org>
Fri, 15 Jan 2010 07:39:27 +0000 (07:39 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 15 Jan 2010 07:39:27 +0000 (07:39 +0000)
SVN-Revision: 19145

package/mac80211/patches/301-mac80211_tx_queue_wake.patch [new file with mode: 0644]
package/mac80211/patches/302-mac80211_pwr_mgmt_fix.patch [new file with mode: 0644]

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 (file)
index 0000000..1934fcc
--- /dev/null
@@ -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 (file)
index 0000000..628fc1d
--- /dev/null
@@ -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;