[PATCH] finish iso support

matthieu castet castet.matthieu at free.fr
Mon Jun 27 18:42:20 EDT 2005


Hi Duncan,

Duncan Sands wrote:
> Hi Matthieu,
> 
> 
>>this patch aim to finish iso support in usbatm.
> 
> 
> +module_param(rcv_buf_iso_packets, uint, S_IRUGO);
> +MODULE_PARM_DESC(rcv_buf_iso_packets,
> +                "Number of packets in a iso frame(range: 1-"
> +                __MODULE_STRING(UDSL_MAX_RCV_ISO_PACKETS) ", default: "
> +                __MODULE_STRING(UDSL_DEFAULT_RCV_ISO_PACKETS) ")");
> 
> can you please explain why you add this new parameter.
The problem was the Roman formula don't work with default rcv_buf_size 
or a multiple of rcv_buf_size as it produce lot's of error.
I thought the modem expected only some number of packets in a iso frame, 
so I find this way to do it.
After some tests I have just discover that the problem occurs if the 
size of the last packet is different from the others.
I don't know if it is another bug of the eagle, but this part of the 
patch could be dropped, and I will add something to be sure that all the 
packets have the same size.

I don't know if the default rcv_buf_size is good for iso as it will make 
3 packets per iso frame with the default configuration for my 
configuration (packet size = 1007).

> 
> Also, what are your reasons for adding the use_iso field, rather than using
> some other method.  Other methods:
> 
> (1) modify the struct usbatm_driver in the bind() call, setting the right
> endpoint (in order for this to work properly, usbatm should use a copy of
> the original struct usbatm_driver, but that's easy to arrange).
Weren't you reluctant to split the initialisation in 2 parts (That was 
how Roman did it,
but you strip this from his patch)?
affect instance->rx_channel.endpoint before bind call and do urb init 
after bind call.

Also actualy struct usbatm_channel is "private data", I find it was a 
bit ugly to declare
it public data and let's the driver acces it.
> 
> (2) supply usbatm_usb_probe with different values for struct usbatm_driver.
> 
What different values should I supply ?
With the current values in struct usbatm_driver there no way to know if 
we want iso or bulk.
That's why I add a new value use_iso in struct usbatm_driver.

Thanks,

Matthieu



More information about the Usbatm mailing list