Author: thompsa
Date: Sun Mar 28 20:04:03 2010
New Revision: 205803
URL: http://svn.freebsd.org/changeset/base/205803

Log:
  Make sure the bsd_urb_list gets initialised and that new URB's are queued at
  the end of the list.
  
  Submitted by: Hans Petter Selasky

Modified:
  head/sys/dev/usb/usb_compat_linux.c

Modified: head/sys/dev/usb/usb_compat_linux.c
==============================================================================
--- head/sys/dev/usb/usb_compat_linux.c Sun Mar 28 20:02:50 2010        
(r205802)
+++ head/sys/dev/usb/usb_compat_linux.c Sun Mar 28 20:04:03 2010        
(r205803)
@@ -435,7 +435,7 @@ usb_submit_urb(struct urb *urb, uint16_t
            uhe->bsd_xfer[1]) {
                /* we are ready! */
 
-               TAILQ_INSERT_HEAD(&uhe->bsd_urb_list, urb, bsd_urb_list);
+               TAILQ_INSERT_TAIL(&uhe->bsd_urb_list, urb, bsd_urb_list);
 
                urb->status = -EINPROGRESS;
 
@@ -908,6 +908,7 @@ usb_linux_create_usb_device(struct usb_d
                                if (p_uhe) {
                                        bcopy(ed, &p_uhe->desc, 
sizeof(p_uhe->desc));
                                        p_uhe->bsd_iface_index = iface_index - 
1;
+                                       TAILQ_INIT(&p_uhe->bsd_urb_list);
                                        p_uhe++;
                                }
                                if (p_uhi) {
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to