diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 5bd400f..044c17c 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -841,7 +841,8 @@ int usb_hub_clear_tt_buffer(struct urb *urb)
 	clear->tt = tt->multi ? udev->ttport : 1;
 	clear->devinfo = usb_pipeendpoint (pipe);
 	clear->devinfo |= udev->devnum << 4;
-	clear->devinfo |= usb_pipecontrol(pipe)
+	/* usb_pipeint(pipe) is only relevant for the 'dwc_otg' driver */
+	clear->devinfo |= (usb_pipecontrol(pipe) || usb_pipeint(pipe))
 			? (USB_ENDPOINT_XFER_CONTROL << 11)
 			: (USB_ENDPOINT_XFER_BULK << 11);
 	if (usb_pipein(pipe))