summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;
+