diff options
author | 2020-01-30 17:42:55 +0100 | |
---|---|---|
committer | 2020-02-14 10:06:08 +0100 | |
commit | 61c4fa72196845b060147c044af7b25632ff6376 (patch) | |
tree | d8ceb0abad47b1915d0a0d3f2afc1f8550cbd27e /drivers/net/wireless/mediatek/mt76/mcu.c | |
parent | mt76: mt7615: report firmware log event messages (diff) | |
download | wireguard-linux-61c4fa72196845b060147c044af7b25632ff6376.tar.xz wireguard-linux-61c4fa72196845b060147c044af7b25632ff6376.zip |
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); } |