[PATCH] file_storage and UHCI bugfixes The patch below (as547) corrects two minor errors, one in the file_storage gadget driver (need to send a length-zero packet if a control response is short) and one in the alternate UHCI driver (need to set the QH bit in the frame list). Both of these are back-ports of things that have been in 2.6 for several releases. diff --git a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c --- a/drivers/usb/gadget/file_storage.c +++ b/drivers/usb/gadget/file_storage.c @@ -1454,6 +1454,7 @@ static int fsg_setup(struct usb_gadget * /* Respond with data/status or defer until later? */ if (rc >= 0 && rc != DELAYED_STATUS) { fsg->ep0req->length = rc; + fsg->ep0req->zero = (rc < ctrl->wLength); fsg->ep0req_name = (ctrl->bRequestType & USB_DIR_IN ? "ep0-in" : "ep0-out"); rc = ep0_queue(fsg); diff --git a/drivers/usb/host/uhci.c b/drivers/usb/host/uhci.c --- a/drivers/usb/host/uhci.c +++ b/drivers/usb/host/uhci.c @@ -2924,7 +2924,7 @@ static int alloc_uhci(struct pci_dev *de } /* Only place we don't use the frame list routines */ - uhci->fl->frame[i] = uhci->skeltd[irq]->dma_handle; + uhci->fl->frame[i] = uhci->skeltd[irq]->dma_handle | UHCI_PTR_QH; } start_hc(uhci);