2.4.36-stable kernel tree
Revision | 2e8f68c45925123d33d476ce369b570bd989dd9a (tree) |
---|---|
Zeit | 2005-07-26 17:33:09 |
Autor | Alan Stern <stern@rowl...> |
Commiter | Marcelo Tosatti |
[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.
Alan Stern
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
@@ -1454,6 +1454,7 @@ static int fsg_setup(struct usb_gadget *gadget, | ||
1454 | 1454 | /* Respond with data/status or defer until later? */ |
1455 | 1455 | if (rc >= 0 && rc != DELAYED_STATUS) { |
1456 | 1456 | fsg->ep0req->length = rc; |
1457 | + fsg->ep0req->zero = (rc < ctrl->wLength); | |
1457 | 1458 | fsg->ep0req_name = (ctrl->bRequestType & USB_DIR_IN ? |
1458 | 1459 | "ep0-in" : "ep0-out"); |
1459 | 1460 | rc = ep0_queue(fsg); |
@@ -2924,7 +2924,7 @@ static int alloc_uhci(struct pci_dev *dev, unsigned int io_addr, unsigned int io | ||
2924 | 2924 | } |
2925 | 2925 | |
2926 | 2926 | /* Only place we don't use the frame list routines */ |
2927 | - uhci->fl->frame[i] = uhci->skeltd[irq]->dma_handle; | |
2927 | + uhci->fl->frame[i] = uhci->skeltd[irq]->dma_handle | UHCI_PTR_QH; | |
2928 | 2928 | } |
2929 | 2929 | |
2930 | 2930 | start_hc(uhci); |