mt7601u: process URBs in status EPROTO properly
Subsystems (2)
PATCH 1/1 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.
--- drivers/net/wireless/mediatek/mt7601u/dma.c | 1 + 1 file changed, 1 insertion(+)
drivers/net/wireless/mediatek/mt7601u/dma.c +1 -0
@@ -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",
Quoted 9 lines · Zhi Han
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_rxcallback function to get further processing.Signed-off-by Zhi Han <[email protected]>Acked-by Jakub Kicinski <[email protected]>
Patch applied to wireless-drivers-next.git, thanks.
0e40dbd56d67 mt7601u: process URBs in status EPROTO properly
Signature · 3 lines
https://patchwork.kernel.org/project/linux-wireless/patch/20201217161302.GA12562@E480/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches