Skip to contentSkip to conversation

wifi: mac80211: use owner vif for AP VLAN station TXQs

PATCH New Eduard Zateev 1 participant 1 message Oct 26 mac80211

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 wifi: mac80211: use owner vif for AP VLAN station TXQs

AP VLAN interfaces are not added to the driver, so their station TXQs must wake the queue through the owning AP interface. Keep the AP VLAN interface in skb control data for key selection, but associate its station TXQ with the driver-facing AP vif.

This avoids calling drv_wake_tx_queue() with an AP VLAN vif that has no IEEE80211_SDATA_IN_DRIVER flag.

Fixes e937b8da5a59 ("mac80211: Add TXQ scheduling API")
Reported-by [email protected]
---
 net/mac80211/tx.c | 7 +++++++
 1 file changed, 7 insertions(+)
net/mac80211/tx.c +7 -0
index e9b6a0415..7446c8d9d 100644
@@ -1571,6 +1571,13 @@ void ieee80211_txq_init(struct ieee80211_sub_if_data *sdata,
 	INIT_LIST_HEAD(&txqi->schedule_order);
 
 	txqi->txq.vif = &sdata->vif;
+	if (sta && sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
+		struct ieee80211_sub_if_data *ap;
+
+		ap = container_of(sdata->bss,
+				  struct ieee80211_sub_if_data, u.ap);
+		txqi->txq.vif = &ap->vif;
+	}
 
 	if (!sta) {
 		txqi->txq.tid = tid;
Signature · 1 line
2.56.0