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: [email protected]
Reported-by: Catrinel Catrinescu <[email protected]>
Signed-off-by: Felix Fietkau <[email protected]>
---
 net/mac80211/iface.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

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 */
-- 
2.17.0

Reply via email to