Comment 309 for bug 1667750

Revision history for this message
In , stf_xl (stfxl-linux-kernel-bugs) wrote :

Since issue affects mostly rt2800usb devices, maybe we can add quirk to xhci to restore pre 4.20 behaviour for endpoints that are used by rt2800usb.

Please check if patch like this make the problem gone:

diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index dfa61de7c83f..b75a16e5cc9d 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -2568,6 +2568,8 @@ static int process_bulk_intr_td(struct xhci_hcd *xhci, struct xhci_td *td,
                remaining = 0;
                break;
        case COMP_USB_TRANSACTION_ERROR:
+ if (1) /* this will be quirk for disable Soft Retry */
+ break;
                if ((ep_ring->err_count++ > MAX_SOFT_RETRY) ||
                    le32_to_cpu(slot_ctx->tt_info) & TT_SLOT)
                        break;

If it does, I could then prepare patch that will change this part only for rt2800usb.