Am Samstag, 7. Juli 2007 schrieb Alan Stern:
> On Sat, 7 Jul 2007, Oliver Neukum wrote:
> 
> > > That's a real problem.  During initial enumeration the usb_device 
> > > hasn't been registered yet, so the ep_device hasn't been created.
> > > 
> > > One possibility is to add yet another allocator:
> > > 
> > > struct urb *usb_alloc_ep0_urb(struct usb_device *udev, size_t 
> > > alloc_length, 
> > >             gfp_t mem_flags);
> > 
> > Very well. Given the call chain this means changing the API of the
> > usb_*_msg() calls to pass in an URB.
> 
> Don't change the existing API.  Make usb_control_msg() allocate an URB
> and a setup packet buffer, and add a new intermediate routine which
> takes them as arguments.  Then code using a preallocated URB can call 
> the intermediate routine directly.

Good idea. It shall be done.

        Regards
                Oliver


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to