mt76: avoid re-queueing A-MPDU rx reorder work if no frames are pending

"Linux Kernel Mailing List" <[email protected]>
Newsgroups gmane.linux.kernel.commits.head
Message-ID <[email protected]>
Web:        https://git.kernel.org/torvalds/c/fb208dc73ff1667191ba26d87610bba983ea1535
Commit:     fb208dc73ff1667191ba26d87610bba983ea1535
Parent:     17cf68b702a60aee61432d59098b1ba6ceab2f98
Refname:    refs/heads/master
Author:     Felix Fietkau <[email protected]>
AuthorDate: Sat Jan 27 16:02:05 2018 +0100
Committer:  Kalle Valo <[email protected]>
CommitDate: Thu Feb 1 10:43:59 2018 +0200

    mt76: avoid re-queueing A-MPDU rx reorder work if no frames are pending
    
    Fixes: aee5b8cf2477 ("mt76: implement A-MPDU rx reordering in the driver code")
    Signed-off-by: Felix Fietkau <[email protected]>
    Signed-off-by: Kalle Valo <[email protected]>
---
 drivers/net/wireless/mediatek/mt76/agg-rx.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/mediatek/mt76/agg-rx.c b/drivers/net/wireless/mediatek/mt76/agg-rx.c
index e9784b50e2af..fcb208d1f276 100644
--- a/drivers/net/wireless/mediatek/mt76/agg-rx.c
+++ b/drivers/net/wireless/mediatek/mt76/agg-rx.c
@@ -98,6 +98,7 @@ mt76_rx_aggr_reorder_work(struct work_struct *work)
 					       reorder_work.work);
 	struct mt76_dev *dev = tid->dev;
 	struct sk_buff_head frames;
+	int nframes;
 
 	__skb_queue_head_init(&frames);
 
@@ -105,9 +106,12 @@ mt76_rx_aggr_reorder_work(struct work_struct *work)
 
 	spin_lock(&tid->lock);
 	mt76_rx_aggr_check_release(tid, &frames);
+	nframes = tid->nframes;
 	spin_unlock(&tid->lock);
 
-	ieee80211_queue_delayed_work(tid->dev->hw, &tid->reorder_work, REORDER_TIMEOUT);
+	if (nframes)
+		ieee80211_queue_delayed_work(tid->dev->hw, &tid->reorder_work,
+					     REORDER_TIMEOUT);
 	mt76_rx_complete(dev, &frames, -1);
 
 	local_bh_enable();
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.