From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kalle Valo Date: Tue, 28 May 2013 18:06:52 +0300 Subject: [ath9k-devel] [PATCH 6/7] ath10k: introduce proper htt tx flow control In-Reply-To: <1368695347-18467-7-git-send-email-michal.kazior@tieto.com> (Michal Kazior's message of "Thu, 16 May 2013 11:09:06 +0200") References: <1368695347-18467-1-git-send-email-michal.kazior@tieto.com> <1368695347-18467-7-git-send-email-michal.kazior@tieto.com> Message-ID: <87obbv6t4j.fsf@kamboji.qca.qualcomm.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: ath9k-devel@lists.ath9k.org Michal Kazior writes: > There were cases where we'd run out of msdu_ids. > This can be fixed by telling mac80211 to stop > sending us more frames if we run out of resources. > > It was possible to trigger with massive TCP RX > ~300mbps (e.g. using iperf). > > Signed-off-by: Michal Kazior [...] > +void __ath10k_htt_tx_dec_pending(struct ath10k_htt *htt) > +{ > + htt->num_pending_tx--; > + if (htt->num_pending_tx == HTT_MAX_NUM_PENDING_TX - 1) > + ieee80211_wake_queues(htt->ar->hw); > +} How often is this function called? I'm wondering if it should be an inline function. But that can be done in a followup patch (if needed). -- Kalle Valo