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: Paul Zimmerman <paulz@synopsys.com>
Tested-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Paul Zimmerman 2013-07-13 14:53:50 -07:00 committed by Greg Kroah-Hartman
parent c9e1c907ff
commit 399fdf9e57
1 changed files with 9 additions and 4 deletions

View File

@ -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 */