mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
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 <[email protected]> Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
committed by
Felix Fietkau
parent
3a71e71a55
commit
925d96e443
+7
-1
@@ -236,7 +236,13 @@ int mt7921_register_device(struct mt7921_dev *dev)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return mt76_connac_mcu_set_deep_sleep(&dev->mt76, dev->pm.ds_enable);
|
||||
ret = mt76_connac_mcu_set_deep_sleep(&dev->mt76, dev->pm.ds_enable);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
dev->hw_init_done = true;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void mt7921_unregister_device(struct mt7921_dev *dev)
|
||||
|
||||
+5
-3
@@ -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
|
||||
|
||||
+2
-1
@@ -160,7 +160,8 @@ struct mt7921_dev {
|
||||
u16 chainmask;
|
||||
|
||||
struct work_struct reset_work;
|
||||
bool hw_full_reset;
|
||||
bool hw_full_reset:1;
|
||||
bool hw_init_done:1;
|
||||
|
||||
struct list_head sta_poll_list;
|
||||
spinlock_t sta_poll_lock;
|
||||
|
||||
Reference in New Issue
Block a user