Re: USB device keeps sending zero-length ISO transfers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 8 Jul 2011, Thierry Reding wrote:

> Hi,
> 
> I have a device that sometimes enters a strange state in which it keeps
> sending ISO transfers with apparently no content. What happens is that at
> some point the URB callback function keeps getting called, but summing up the
> actual_length field over all iso_frame_desc structures of the URB yields 0,
> which in turn causes the device to no longer respond to userspace.
> 
> I'm wondering whether this might be an actual hardware bug.

Or firmware bug.  That seems quite likely.

>  Does anybody know
> whether such behaviour is to be expected, or what an appropriate response
> would be?

Such behavior should not occur -- but in the real world it _does_ occur 
often enough that you shouldn't be very surprised to encounter it.

Update the firmware, if you can.  Complain to the vendor.  If nothing
else works, return the device for a refund.

>  Unloading and reloading the driver doesn't help, only unplugging
> and replugging, or alternatively resetting the USB device, puts the device
> into a working state again.
> 
> The device is a TV USB stick (Cinergy Hybrid Stick, driver in staging/tm6000)
> that's supposed to transmit video frames via the isochronous pipe. Most of the
> time this works properly, but switching stations repeatedly reliably leads to
> the above hang (the zero-length ISO transfers mean that no video buffers are
> queued for consumption by userspace anymore). I've asked about this on the
> linux-media mailing list already, but nobody's been able to help.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux