diff options
author | Felix Fietkau <nbd@nbd.name> | 2020-01-30 19:42:55 +0300 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2020-02-14 12:06:08 +0300 |
commit | 61c4fa72196845b060147c044af7b25632ff6376 (patch) | |
tree | d8ceb0abad47b1915d0a0d3f2afc1f8550cbd27e /drivers/net/wireless/mediatek/mt76/mcu.c | |
parent | f347f81a8ac98b5a2d67777222f0fce7d21685be (diff) | |
download | linux-61c4fa72196845b060147c044af7b25632ff6376.tar.xz |
mt76: mt7615: implement hardware reset support
When the firmware detects a problem, it needs the host to stop/reset DMA and
resume it again when the hardware state has been reset.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mcu.c')
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/mcu.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mcu.c b/drivers/net/wireless/mediatek/mt76/mcu.c index 2a976688804d..b0fb0830c9e1 100644 --- a/drivers/net/wireless/mediatek/mt76/mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mcu.c @@ -35,7 +35,8 @@ struct sk_buff *mt76_mcu_get_response(struct mt76_dev *dev, timeout = expires - jiffies; wait_event_timeout(dev->mmio.mcu.wait, - !skb_queue_empty(&dev->mmio.mcu.res_q), + (!skb_queue_empty(&dev->mmio.mcu.res_q) || + test_bit(MT76_MCU_RESET, &dev->phy.state)), timeout); return skb_dequeue(&dev->mmio.mcu.res_q); } |