xhci: Don't print short isoc packets.
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Fri, 2 Sep 2011 18:05:56 +0000 (11:05 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 9 Sep 2011 22:52:54 +0000 (15:52 -0700)
Now that the xHCI driver always return a status value of zero for isochronous
URBs, when the last TD of an isochronous URB is short, the local variable
"status" stays set to -EINPROGRESS.  When xHCI driver debugging is turned on,
this causes the log file to fill with messages like this:

[   38.859282] xhci_hcd 0000:00:14.0: Giveback URB ffff88013ad47800, len = 1408, expected = 580, status = -115

Don't print out the status of an URB for isochronous URBs.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/xhci-ring.c

index 58a6e26648ea47ba5050e47b103757b401966076..d14f3fbe5762189e1148ccfd705ebcc85f721359 100644 (file)
@@ -2173,7 +2173,8 @@ cleanup:
                        if ((urb->actual_length != urb->transfer_buffer_length &&
                                                (urb->transfer_flags &
                                                 URB_SHORT_NOT_OK)) ||
-                                       status != 0)
+                                       (status != 0 &&
+                                        !usb_endpoint_xfer_isoc(&urb->ep->desc)))
                                xhci_dbg(xhci, "Giveback URB %p, len = %d, "
                                                "expected = %x, status = %d\n",
                                                urb, urb->actual_length,