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