> Are you using an invalid endpoint? You're right, MxPS is not zero in
> any of those, but since it parsed alright, there's no reason why
> dev->exmaxpacketin/out should be 0.

It is not clear at all why dev->epmaxpacketin/out should be
anything but 0. This array is never initialized as far as
I can see.

More precisely, the value for endpoint 0 is set in
usb_new_device(). Values for other endpoints only in
usb_set_maxpacket() [which has the comment "hub-only!!"].

And usb_set_maxpacket() is called only by hub.c:usb_reset_device()
and core/usb.c:usb_set_interface() and usb_set_configuration().

>From the comments it looks like usb_set_interface() and
usb_set_configuration() are called only in non-default situations.
In any case, usb_set_interface() is not called in usb-storage,
and usb_set_configuration() only in some very ugly, kludgy
#ifdef CONFIG_USB_STORAGE_SDDR09 - part of storage/usb.c.

So, at least in usb-storage, it seems that epmaxpacket*
will be valid only by accident.

It also looks like storage/usb.c picks an essentially random
endpoint to use, ignoring all others.

Let me cc Matt so that he can comment.

Andries

_______________________________________________________________

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to