Commit 0e40dbd5 authored by Zhi Han's avatar Zhi Han Committed by Kalle Valo

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: default avatarZhi Han <z.han@gmx.net>
Acked-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201217161302.GA12562@E480
parent f4add103
...@@ -192,6 +192,7 @@ static void mt7601u_complete_rx(struct urb *urb) ...@@ -192,6 +192,7 @@ static void mt7601u_complete_rx(struct urb *urb)
case -ECONNRESET: case -ECONNRESET:
case -ESHUTDOWN: case -ESHUTDOWN:
case -ENOENT: case -ENOENT:
case -EPROTO:
return; return;
default: default:
dev_err_ratelimited(dev->dev, "rx urb failed: %d\n", dev_err_ratelimited(dev->dev, "rx urb failed: %d\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment