summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhi Han <z.han@gmx.net>2020-12-17 17:13:02 +0100
committerKalle Valo <kvalo@codeaurora.org>2021-01-14 19:30:17 +0200
commit0e40dbd56d67a5b01b13f4bfb62b470cd99125cd (patch)
tree4ec5623c97a09dad02613680c27b6c4ae2a560dd
parentf4add10399f9cba42a45ac4b0e0dc5e4943f8546 (diff)
mt7601u: process URBs in status EPROTO properly
When the usb device being plugged out, before the usb_driver:disconnect called by e.g workqueue, it is possible that some URBs are still in processing, and being marked as EPROTO in host controller. Those URBs should not be scheduled in complete_rx callback function to get further processing. Signed-off-by: Zhi Han <z.han@gmx.net> Acked-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/20201217161302.GA12562@E480
-rw-r--r--drivers/net/wireless/mediatek/mt7601u/dma.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt7601u/dma.c b/drivers/net/wireless/mediatek/mt7601u/dma.c
index 5f99054f535b..98733c23d408 100644
--- a/drivers/net/wireless/mediatek/mt7601u/dma.c
+++ b/drivers/net/wireless/mediatek/mt7601u/dma.c
@@ -192,6 +192,7 @@ static void mt7601u_complete_rx(struct urb *urb)
case -ECONNRESET:
case -ESHUTDOWN:
case -ENOENT:
+ case -EPROTO:
return;
default:
dev_err_ratelimited(dev->dev, "rx urb failed: %d\n",