[PATCH] iso pipe support for usbatm
Roman Kagan
rkagan at mail.ru
Thu Mar 24 17:05:14 EST 2005
On Thu, Mar 24, 2005 at 07:36:07PM +0100, matthieu castet wrote:
> Attached a new patch :
> we don't resubmit the urb in usbatm_complete_receive.
I suppose you've tested it to work this way? Then it's becoming fairly
easy to merge with the changes I proposed...
> +static unsigned int rcv_buf_per_urb = UDSL_DEFAULT_RCV_BUF_PER_URB;
I nitpick: rcv_iso_frames IMHO sounds a bit clearer.
> - 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()?
Cheers,
Roman.
More information about the Usbatm
mailing list