ChangeSet 1.781.21.7, 2002/10/15 10:48:33-07:00, johannes@erdfelt.com [PATCH] 2.5 uhci breadth first traversal for low speed Woops, my fault. I forgot to send you this patch which needs to be applied before the big one. It's from Dan as well and switches low speed control to use breadth first traversal to make it more fair. Don't make low speed control use depth first. That isn't particularly fair. Thanks to Dan Streetman for bringing this up and the original patch. diff -Nru a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c --- a/drivers/usb/host/uhci-hcd.c Fri Oct 18 14:43:44 2002 +++ b/drivers/usb/host/uhci-hcd.c Fri Oct 18 14:43:44 2002 @@ -880,12 +880,12 @@ urbp->qh = qh; qh->urbp = urbp; + uhci_insert_tds_in_qh(qh, urb, UHCI_PTR_BREADTH); + /* Low speed transfers get a different queue, and won't hog the bus */ - if (urb->dev->speed == USB_SPEED_LOW) { - uhci_insert_tds_in_qh(qh, urb, UHCI_PTR_DEPTH); + if (urb->dev->speed == USB_SPEED_LOW) uhci_insert_qh(uhci, uhci->skel_ls_control_qh, urb); - } else { - uhci_insert_tds_in_qh(qh, urb, UHCI_PTR_BREADTH); + else { uhci_insert_qh(uhci, uhci->skel_hs_control_qh, urb); uhci_inc_fsbr(uhci, urb); }