@@ -3773,6 +3577,13 @@ struct sk_buff *ieee80211_tx_dequeue(struct ieee80211_hw *hw,
ieee80211_free_txskb(&local->hw, skb);
goto begin;
}
+ } else if (vif->txq == txq &&
+ vif->type == NL80211_IFTYPE_AP &&
+ atomic_read(&tx.sdata->bss->ps.num_sta_ps)) {
+ info->flags |= IEEE80211_TX_CTL_SEND_AFTER_DTIM;
+
+ if (ieee80211_hw_check(&tx.local->hw, QUEUE_CONTROL))
+ info->hw_queue = tx.sdata->vif.cab_queue;
I forgot to drop the two lines above.
vif.cab_queue is also set in ieee80211_get_txq(), making these lines
redundant. (As standalone they would be wrong and not always setting the
flag when needed.)
Since I'm sure there will be more issues I won't submit a new patch
immediately.
Alexander