Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/openwrt/mt76.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/mt7603
diff options
context:
space:
mode:
authorLorenzo Bianconi <lorenzo@kernel.org>2021-09-13 12:25:02 +0300
committerFelix Fietkau <nbd@nbd.name>2021-10-11 10:19:04 +0300
commitf143aedc1d571d48171750b4305d98f7b84aa34b (patch)
treeff3afa41639dfb9edd3b6e938ecc46f909ba5a2e /mt7603
parentde8c4f92621f98af96345aeb31b1dfd50c44a152 (diff)
mt76: introduce packet_id idr
Introduce per-wcid idr to manage packet id for txs. This allow fast idr lookup and skb queueing at the same time. Tested-by: mrkiko.rs@gmail.com Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'mt7603')
-rw-r--r--mt7603/main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mt7603/main.c b/mt7603/main.c
index 8edea1e7..7ac4cd24 100644
--- a/mt7603/main.c
+++ b/mt7603/main.c
@@ -69,6 +69,7 @@ mt7603_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
INIT_LIST_HEAD(&mvif->sta.poll_list);
mvif->sta.wcid.idx = idx;
mvif->sta.wcid.hw_key_idx = -1;
+ mt76_packet_id_init(&mvif->sta.wcid);
eth_broadcast_addr(bc_addr);
mt7603_wtbl_init(dev, idx, mvif->idx, bc_addr);
@@ -107,6 +108,8 @@ mt7603_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
mutex_lock(&dev->mt76.mutex);
dev->mt76.vif_mask &= ~BIT(mvif->idx);
mutex_unlock(&dev->mt76.mutex);
+
+ mt76_packet_id_flush(&dev->mt76, &mvif->sta.wcid);
}
void mt7603_init_edcca(struct mt7603_dev *dev)