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

Reply via email to