diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index f75029abf7286d54708b1739ee5faa89a43fe2ff..2619daa29961302ff3de9472457b75e5dcf3c876 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -1772,7 +1772,9 @@ int ieee80211_if_add(struct ieee80211_local *local, const char *name,
 				 sizeof(void *));
 		int txq_size = 0;
 
-		if (local->ops->wake_tx_queue)
+		if (local->ops->wake_tx_queue &&
+		    type != NL80211_IFTYPE_AP_VLAN &&
+		    type != NL80211_IFTYPE_MONITOR)
 			txq_size += sizeof(struct txq_info) +
 				    local->hw.txq_data_size;