Commit 132191a8 authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by Felix Fietkau

mt76: mt7615: rearrange cleanup operations in mt7615_unregister_device

Cleanup tx/rx napi before releasing pending idrs.
Moreover unmap txwi_cache running mt76_free_device routine
Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent c38cbba4
...@@ -212,6 +212,10 @@ void mt7615_unregister_device(struct mt7615_dev *dev) ...@@ -212,6 +212,10 @@ void mt7615_unregister_device(struct mt7615_dev *dev)
struct mt76_txwi_cache *txwi; struct mt76_txwi_cache *txwi;
int id; int id;
mt76_unregister_device(&dev->mt76);
mt7615_mcu_exit(dev);
mt7615_dma_cleanup(dev);
spin_lock_bh(&dev->token_lock); spin_lock_bh(&dev->token_lock);
idr_for_each_entry(&dev->token, txwi, id) { idr_for_each_entry(&dev->token, txwi, id) {
mt7615_txp_skb_unmap(&dev->mt76, txwi); mt7615_txp_skb_unmap(&dev->mt76, txwi);
...@@ -221,9 +225,6 @@ void mt7615_unregister_device(struct mt7615_dev *dev) ...@@ -221,9 +225,6 @@ void mt7615_unregister_device(struct mt7615_dev *dev)
} }
spin_unlock_bh(&dev->token_lock); spin_unlock_bh(&dev->token_lock);
idr_destroy(&dev->token); idr_destroy(&dev->token);
mt76_unregister_device(&dev->mt76);
mt7615_mcu_exit(dev);
mt7615_dma_cleanup(dev);
ieee80211_free_hw(mt76_hw(dev)); mt76_free_device(&dev->mt76);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment