--- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -1580,7 +1580,16 @@ static bool ieee80211_tx_frags(struct ie return true; } } else { - +#ifdef CPTCFG_MAC80211_NSS_SUPPORT + if (skb_queue_len(&local->pending[q]) >= 1000) { + spin_unlock_irqrestore( + &local->queue_stop_reason_lock, + flags); + ieee80211_purge_tx_queue(&local->hw, + skbs); + return false; + } +#endif /* * Since queue is stopped, queue up frames for * later transmission from the tx-pending