From: "David Brownell" <[EMAIL PROTECTED]>
> Stuart MacDonald wrote:
> > The problem boils down to the fact that I can't use urb_list to keep a
> > list of urbs for later unlinking. I'm thinking the best solution is to
> > add a second list_head to struct urb.
>
> You've already got urb->context for per-request data. The data it points
> to would seem to be a more natural place to keep such such data.
urb->context for most (all?) of the usb serial drivers points at the
usb_serial_port struct for the port the urb is "running on". That port
has a private area, to which I've added a list of pre-allocated urbs
for reading and writing; the free list uses the urb's list_head. For
1234567890123456789012345678901234567890123456789012345678901234567890
the submitted urbs, I have to build my own list, which is a PITA.
port_private {
list_head free_urbs; /* uses urb's urb_list */
list_head submitted_urbs; /* for unlinking later */
}
struct my_submit_list {
list_head list;
struct urb *urb;
}
> I'd rather see 'struct urb' start to shrink, not grow!
Which is why I asked instead of sending in a patch. :-)
..Stu
-------------------------------------------------------
This sf.net email is sponsored by: To learn the basics of securing
your web site with SSL, click here to get a FREE TRIAL of a Thawte
Server Certificate: http://www.gothawte.com/rd524.html
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel