aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/goku_udc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/gadget/goku_udc.c')
-rw-r--r--drivers/usb/gadget/goku_udc.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/drivers/usb/gadget/goku_udc.c b/drivers/usb/gadget/goku_udc.c
index 5af70fcce139..e1dfd32dc805 100644
--- a/drivers/usb/gadget/goku_udc.c
+++ b/drivers/usb/gadget/goku_udc.c
@@ -235,6 +235,7 @@ static void ep_reset(struct goku_udc_regs __iomem *regs, struct goku_ep *ep)
235 235
236 ep->ep.maxpacket = MAX_FIFO_SIZE; 236 ep->ep.maxpacket = MAX_FIFO_SIZE;
237 ep->desc = NULL; 237 ep->desc = NULL;
238 ep->ep.desc = NULL;
238 ep->stopped = 1; 239 ep->stopped = 1;
239 ep->irqs = 0; 240 ep->irqs = 0;
240 ep->dma = 0; 241 ep->dma = 0;
@@ -310,12 +311,9 @@ done(struct goku_ep *ep, struct goku_request *req, int status)
310 status = req->req.status; 311 status = req->req.status;
311 312
312 dev = ep->dev; 313 dev = ep->dev;
313 if (req->mapped) { 314
314 pci_unmap_single(dev->pdev, req->req.dma, req->req.length, 315 if (ep->dma)
315 ep->is_in ? PCI_DMA_TODEVICE : PCI_DMA_FROMDEVICE); 316 usb_gadget_unmap_request(&dev->gadget, &req->req, ep->is_in);
316 req->req.dma = DMA_ADDR_INVALID;
317 req->mapped = 0;
318 }
319 317
320#ifndef USB_TRACE 318#ifndef USB_TRACE
321 if (status && status != -ESHUTDOWN) 319 if (status && status != -ESHUTDOWN)
@@ -736,10 +734,11 @@ goku_queue(struct usb_ep *_ep, struct usb_request *_req, gfp_t gfp_flags)
736 return -EBUSY; 734 return -EBUSY;
737 735
738 /* set up dma mapping in case the caller didn't */ 736 /* set up dma mapping in case the caller didn't */
739 if (ep->dma && _req->dma == DMA_ADDR_INVALID) { 737 if (ep->dma) {
740 _req->dma = pci_map_single(dev->pdev, _req->buf, _req->length, 738 status = usb_gadget_map_request(&dev->gadget, &req->req,
741 ep->is_in ? PCI_DMA_TODEVICE : PCI_DMA_FROMDEVICE); 739 ep->is_in);
742 req->mapped = 1; 740 if (status)
741 return status;
743 } 742 }
744 743
745#ifdef USB_TRACE 744#ifdef USB_TRACE