mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-06 04:19:23 -04:00
mt76: mt7921: fix mt7921_wfsys_reset sequence
WiFi subsytem reset should control MT_WFSYS_SW_RST_B and then poll the
same register until the bit WFSYS_SW_INIT_DONE bit is set.
Fixes: 0c1ce98846 ("mt76: mt7921: add wifi reset support")
Reviewed-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
@@ -313,9 +313,9 @@ static int mt7921_dma_reset(struct mt7921_dev *dev, bool force)
|
||||
|
||||
int mt7921_wfsys_reset(struct mt7921_dev *dev)
|
||||
{
|
||||
mt76_set(dev, 0x70002600, BIT(0));
|
||||
msleep(200);
|
||||
mt76_clear(dev, 0x70002600, BIT(0));
|
||||
mt76_clear(dev, MT_WFSYS_SW_RST_B, WFSYS_SW_RST_B);
|
||||
msleep(50);
|
||||
mt76_set(dev, MT_WFSYS_SW_RST_B, WFSYS_SW_RST_B);
|
||||
|
||||
if (!__mt76_poll_msec(&dev->mt76, MT_WFSYS_SW_RST_B,
|
||||
WFSYS_SW_INIT_DONE, WFSYS_SW_INIT_DONE, 500))
|
||||
|
||||
Reference in New Issue
Block a user