summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/mediatek/mt76/mt7615/pci_init.c
diff options
context:
space:
mode:
authorRyder Lee <ryder.lee@mediatek.com>2020-12-10 21:51:38 +0300
committerFelix Fietkau <nbd@nbd.name>2021-01-26 22:07:46 +0300
commita6275e934605646ef81b02d8d1164f21343149c9 (patch)
tree4ee2aa00b6ac8e03338844130498a700e7026598 /drivers/net/wireless/mediatek/mt76/mt7615/pci_init.c
parentf285dfb98562e8380101095d168910df1d07d8be (diff)
downloadlinux-a6275e934605646ef81b02d8d1164f21343149c9.tar.xz
mt76: mt7615: reset token when mac_reset happens
Reset token in mt7615_mac_reset_work() to avoid possible leakege. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mt7615/pci_init.c')
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7615/pci_init.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/pci_init.c b/drivers/net/wireless/mediatek/mt76/mt7615/pci_init.c
index 27fcb1374685..58a0ec1bf8d7 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7615/pci_init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7615/pci_init.c
@@ -160,9 +160,7 @@ int mt7615_register_device(struct mt7615_dev *dev)
void mt7615_unregister_device(struct mt7615_dev *dev)
{
- struct mt76_txwi_cache *txwi;
bool mcu_running;
- int id;
mcu_running = mt7615_wait_for_mcu_init(dev);
@@ -172,15 +170,7 @@ void mt7615_unregister_device(struct mt7615_dev *dev)
mt7615_mcu_exit(dev);
mt7615_dma_cleanup(dev);
- spin_lock_bh(&dev->token_lock);
- idr_for_each_entry(&dev->token, txwi, id) {
- mt7615_txp_skb_unmap(&dev->mt76, txwi);
- if (txwi->skb)
- dev_kfree_skb_any(txwi->skb);
- mt76_put_txwi(&dev->mt76, txwi);
- }
- spin_unlock_bh(&dev->token_lock);
- idr_destroy(&dev->token);
+ mt7615_tx_token_put(dev);
tasklet_disable(&dev->irq_tasklet);