On Mon, May 13, 2002, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > 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.

usb_new_device -> usb_set_configuration -> usb_set_maxpacket.

So it will be set atleast once.

I wonder if usb-storage is using a different configuration without
calling usb_set_configuration?

JE


_______________________________________________________________

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