Commit 399fdf9e authored by Paul Zimmerman's avatar Paul Zimmerman Committed by Greg Kroah-Hartman
Browse files

staging: dwc2: optimize dwc2_hc_handle_tt_clear() a bit



Make dwc2_hc_handle_tt_clear() return early if the device is
hi-speed.

Signed-off-by: default avatarPaul Zimmerman <paulz@synopsys.com>
Tested-by: default avatarStephen Warren <swarren@wwwdotorg.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c9e1c907
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -89,15 +89,20 @@ static void dwc2_hc_handle_tt_clear(struct dwc2_hsotg *hsotg,
{
	struct urb *usb_urb;

	if (!chan->qh || !qtd->urb)
	if (!chan->qh)
		return;

	if (chan->qh->dev_speed == USB_SPEED_HIGH)
		return;

	if (!qtd->urb)
		return;

	usb_urb = qtd->urb->priv;
	if (!usb_urb || !usb_urb->dev)
	if (!usb_urb || !usb_urb->dev || !usb_urb->dev->tt)
		return;

	if (chan->qh->dev_speed != USB_SPEED_HIGH &&
	    qtd->urb->status != -EPIPE && qtd->urb->status != -EREMOTEIO) {
	if (qtd->urb->status != -EPIPE && qtd->urb->status != -EREMOTEIO) {
		chan->qh->tt_buffer_dirty = 1;
		if (usb_hub_clear_tt_buffer(usb_urb))
			/* Clear failed; let's hope things work anyway */