Am 27.01.2010 21:47, schrieb Mauro Carvalho Chehab: > Stefan Ringel wrote: > >> Hi, >> >> I have a problem with usb bulk transfer. After a while, as I scan digital channel (it found a few channel), it wrote this in the log: >> >> Jan 26 21:58:35 linux-v5dy kernel: [ 548.756585] tm6000: status != 0 >> >> I updated the tm6000_urb_received function so that I can read the Error code and it logged: >> >> Jan 27 17:41:28 linux-v5dy kernel: [ 3121.892793] tm6000: status = 0xffffffb5 >> > Probablt it is this error: > #define EOVERFLOW 75 /* Value too large for defined data type */ > > It would be good to make it display the error as a signed int. > > the tm6000-video error handler has some common causes for those status. > In this particular case: > > case -EOVERFLOW: > errmsg = "Babble (bad cable?)"; > break; > > This looks the same kind of errors I was receiving during the development of the driver: > a large amount of frames are got broken, even if the device is programmed with the exact > values used on the original driver. On my tests, changing the URB size were changing > the position where such errors were occurring. > > >> Can you help me? Who I can calculate urb size? >> > Take a look on tm6000-video: > > size = usb_maxpacket(dev->udev, pipe, usb_pipeout(pipe)); > > if (size > dev->max_isoc_in) > size = dev->max_isoc_in; > > It depends on the alternate interface used. The driver should select an alternate > interface that is capable of receiving the entire size of a message. Maybe the tm6000 > driver is missing the code that selects this size. Take a look on em28xx-core, at > em28xx_set_alternate() code for an example on how this should work. > > The calculated size there assumes that each pixel has 16 bits, and has some magic that > were experimentally tested on that device. > > Cheers, > Mauro. > > I know why it's going to overflow. It's not usb pipe calculating, it's numbers of feeds that it's used. But then I cannot use more than one filter! It's bad!! Cheers Stefan Ringel -- Stefan Ringel <stefan.ringel@xxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html