Skip to contentSkip to conversation

mt7601u: process URBs in status EPROTO properly

PATCH In review Zhi Han 2 participants 2 messages Dec 17, 2020 – Jan 14, 2021

Subsystems (2)
lore
Share & tools
lore

Zhi Han

author
#0 lore raw

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
index 09f931d4598c..7a9ab787cf3d 100644
@@ -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",
#1 lore raw
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_rx callback function to get further processing.

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