diff mbox series

mac80211: allocate TXQs for active monitor interfaces

Message ID 20180922130953.19581-1-nbd@nbd.name (mailing list archive)
State Superseded
Delegated to: Johannes Berg
Headers show
Series mac80211: allocate TXQs for active monitor interfaces | expand

Commit Message

Felix Fietkau Sept. 22, 2018, 1:09 p.m. UTC
Monitor mode interfaces with the active flag are passed down to the driver.
Drivers using TXQ expect that all interfaces have allocated TXQs before
they get added.

Fixes: 79af1f866193d ("mac80211: avoid allocating TXQs that won't be used")
Cc: stable@vger.kernel.org
Reported-by: Catrinel Catrinescu <cc@80211.de>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
 net/mac80211/iface.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Felix Fietkau Sept. 22, 2018, 4:24 p.m. UTC | #1
On 2018-09-22 15:09, Felix Fietkau wrote:
> Monitor mode interfaces with the active flag are passed down to the driver.
> Drivers using TXQ expect that all interfaces have allocated TXQs before
> they get added.
> 
> Fixes: 79af1f866193d ("mac80211: avoid allocating TXQs that won't be used")
> Cc: stable@vger.kernel.org
> Reported-by: Catrinel Catrinescu <cc@80211.de>
> Signed-off-by: Felix Fietkau <nbd@nbd.name>
Sorry, wrong patch. Will resend.

- Felix
diff mbox series

Patch

diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 5e6cf2cee965..cf93cd9b9205 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -729,7 +729,8 @@  int ieee80211_do_open(struct wireless_dev *wdev, bool coming_up)
 
 	ieee80211_recalc_ps(local);
 
-	if (sdata->vif.type == NL80211_IFTYPE_MONITOR ||
+	if ((sdata->vif.type == NL80211_IFTYPE_MONITOR &&
+	    !(sdata->u.mntr.flags & MONITOR_FLAG_ACTIVE)) ||
 	    sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
 	    local->ops->wake_tx_queue) {
 		/* XXX: for AP_VLAN, actually track AP queues */