summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
diff options
context:
space:
mode:
authorLorenzo Bianconi <lorenzo@kernel.org>2021-06-18 12:30:47 +0200
committerFelix Fietkau <nbd@nbd.name>2021-06-19 09:22:52 +0200
commit61a1f99dd1e3c145fce9d601b52e7adb8f37322a (patch)
tree974a1bbac95194310c836946473456cf51157029 /drivers/net/wireless/mediatek/mt76/mt7921/mac.c
parenta27238a0488e14b2e558053b8b8a9a501e9385c6 (diff)
mt76: mt7921: allow chip reset during device restart
Disable chip full reset just during device probing but allow it during hw restart. Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mt7921/mac.c')
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7921/mac.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mac.c b/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
index 143dae97ef77..7fe2e3a50428 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
@@ -1390,11 +1390,13 @@ void mt7921_reset(struct mt76_dev *mdev)
{
struct mt7921_dev *dev = container_of(mdev, struct mt7921_dev, mt76);
- if (!test_bit(MT76_STATE_RUNNING, &dev->mphy.state))
+ if (!dev->hw_init_done)
return;
- if (!dev->hw_full_reset)
- queue_work(dev->mt76.wq, &dev->reset_work);
+ if (dev->hw_full_reset)
+ return;
+
+ queue_work(dev->mt76.wq, &dev->reset_work);
}
static void