Skip to content

Commit a884ba7

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 6701944 commit a884ba7

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
@@ -1698,7 +1698,7 @@ static void xhci_fixup_endpoint(struct usb_hcd *hcd, struct usb_device *udev,
16981698
return;
16991699
}
17001700
ctrl_ctx->add_flags = xhci_get_endpoint_flag_from_index(ep_index);
1701-
ctrl_ctx->drop_flags = 0;
1701+
ctrl_ctx->drop_flags = ctrl_ctx->add_flags;
17021702

17031703
spin_unlock_irqrestore(&xhci->lock, flags);
17041704

0 commit comments

Comments
 (0)