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
This commit is contained in:
thompsa 2010-03-28 20:04:03 +00:00
parent 1846710ad3
commit 1774b31e4d

View File

@ -435,7 +435,7 @@ usb_submit_urb(struct urb *urb, uint16_t mem_flags)
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_device *udev, device_t dev)
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) {