Skip to content

Commit 5d3dd4b

Browse files
P33Mpopcornmix
authored andcommitted
usb: xhci: drop and add the endpoint context in xhci_fixup_endpoint()
Setting both the Drop and Add bits on the input context prevents the corruption of split transactions seen with the BCM2711 XHCI controller, which is a dwc3 variant. This is a downstream feature that allows usbhid to restrict polling intervals on mice and keyboards, and was only tested on a VL805 which didn't complain about the fact the endpoint got added twice. Signed-off-by: Jonathan Bell <[email protected]>
1 parent 5f291dc commit 5d3dd4b

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/usb/host/xhci.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1627,7 +1627,7 @@ static void xhci_fixup_endpoint(struct usb_hcd *hcd, struct usb_device *udev,
16271627
return;
16281628
}
16291629
ctrl_ctx->add_flags = xhci_get_endpoint_flag_from_index(ep_index);
1630-
ctrl_ctx->drop_flags = 0;
1630+
ctrl_ctx->drop_flags = ctrl_ctx->add_flags;
16311631

16321632
spin_unlock_irqrestore(&xhci->lock, flags);
16331633

0 commit comments

Comments
 (0)