From 51ac722347a85cc51bf2d3edea4375af4b9de1c7 Mon Sep 17 00:00:00 2001
From: Peter Chiu <chui-hao.chiu@mediatek.com>
Date: Sun, 24 Apr 2022 10:07:00 +0800
Subject: [PATCH] mt76: mt7915: drop packetes when TWT stations use more token
 then 128

---
 mt7915/mac.c    | 21 ++++++++++++++++++---
 mt7915/mt7915.h |  2 ++
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/mt7915/mac.c b/mt7915/mac.c
index 0a44f8f5..a5c28048 100644
--- a/mt7915/mac.c
+++ b/mt7915/mac.c
@@ -1306,6 +1306,7 @@ int mt7915_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
 	struct ieee80211_tx_info *info = IEEE80211_SKB_CB(tx_info->skb);
 	struct ieee80211_key_conf *key = info->control.hw_key;
 	struct ieee80211_vif *vif = info->control.vif;
+	struct mt7915_sta *msta = NULL;
 	struct mt76_txwi_cache *t;
 	struct mt7915_txp *txp;
 	int id, i, nbuf = tx_info->nbuf - 1;
@@ -1319,8 +1320,6 @@ int mt7915_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
 		wcid = &dev->mt76.global_wcid;
 
 	if (sta) {
-		struct mt7915_sta *msta;
-
 		msta = (struct mt7915_sta *)sta->drv_priv;
 
 		if (time_after(jiffies, msta->jiffies + HZ / 4)) {
@@ -1336,10 +1335,22 @@ int mt7915_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
 	    mgmt->u.action.category == 0xff)
 		return -1;
 
+	spin_lock_bh(&mdev->token_lock);
+	if (msta && msta->twt.flowid_mask && msta->token_count > 128) {
+		spin_unlock_bh(&mdev->token_lock);
+		return -1;
+	}
+	spin_unlock_bh(&mdev->token_lock);
+
 	id = mt76_token_consume(mdev, &t);
 	if (id < 0)
 		return id;
 
+	spin_lock_bh(&mdev->token_lock);
+	if (msta)
+		msta->token_count++;
+	spin_unlock_bh(&mdev->token_lock);
+
 	pid = mt76_tx_status_skb_add(mdev, wcid, tx_info->skb);
 	mt7915_mac_write_txwi(dev, txwi_ptr, tx_info->skb, wcid, pid, key,
 			      false);
@@ -1463,6 +1474,7 @@ mt7915_mac_tx_free(struct mt7915_dev *dev, void *data, int len)
 	struct mt76_phy *mphy_ext = mdev->phy2;
 	struct mt76_txwi_cache *txwi;
 	struct ieee80211_sta *sta = NULL;
+	struct mt7915_sta *msta;
 	LIST_HEAD(free_list);
 	struct sk_buff *skb, *tmp;
 	void *end = data + len;
@@ -1493,7 +1505,6 @@ mt7915_mac_tx_free(struct mt7915_dev *dev, void *data, int len)
 		 * 1'b0: msdu_id with the same 'wcid pair' as above.
 		 */
 		if (info & MT_TX_FREE_PAIR) {
-			struct mt7915_sta *msta;
 			struct mt76_wcid *wcid;
 			u16 idx;
 
@@ -1529,6 +1540,10 @@ mt7915_mac_tx_free(struct mt7915_dev *dev, void *data, int len)
 			txwi = mt76_token_release(mdev, msdu, &wake);
 			if (!txwi)
 				continue;
+			spin_lock(&mdev->token_lock);
+			if (msta)
+				msta->token_count--;
+			spin_unlock(&mdev->token_lock);
 
 			mt7915_txwi_free(dev, txwi, sta, &free_list);
 		}
diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
index dca2f361..1120b00a 100644
--- a/mt7915/mt7915.h
+++ b/mt7915/mt7915.h
@@ -136,6 +136,8 @@ struct mt7915_sta {
 		u8 flowid_mask;
 		struct mt7915_twt_flow flow[MT7915_MAX_STA_TWT_AGRT];
 	} twt;
+
+	int token_count;
 };
 
 struct mt7915_vif_cap {
-- 
2.18.0

