[PATCH] iso pipe support for usbatm
matthieu castet
castet.matthieu at free.fr
Thu Mar 24 17:57:36 EST 2005
Roman Kagan wrote:
> On Thu, Mar 24, 2005 at 07:36:07PM +0100, matthieu castet wrote:
>
>>- if (likely(!urb->status))
>>+ if (likely(!urb->status) ||
>>+ /* via chipset produce lot's of crc error...*/
>>+ (usb_pipeisoc(instance->rx_endpoint) && urb->status == -EILSEQ))
>> tasklet_schedule(&instance->receive_tasklet);
>
>
> This test should go a bit earlier, and set ->filled_cells as we
> discussed instead of tasklet_schedule (AFAICT calling or not
> tasklet_schedule here doesn't change the fact that the data from this
> urb will be processed, it just makes it wait until the next successful
> urb completion).
>
> Ups, just struck me: when you see -EILSEQ, is the data in the buffer all
> valid? Or it's actually bogus and is being discarded later on in
> usbatm_extract_cells()?
in fact in case of -EILSEQ, there could be some frames that are valid,
but some are invalid : we check the status for each frame in the loop
before.
This test is to avoid in case of consecutive errors to never call
tasklet_schedule, and never submit again urb...
Cheers,
Matthieu
More information about the Usbatm
mailing list