diff options
Diffstat (limited to 'drivers/usb/gadget/fsl_udc.c')
-rw-r--r-- | drivers/usb/gadget/fsl_udc.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/usb/gadget/fsl_udc.c b/drivers/usb/gadget/fsl_udc.c index d067f03a40..ed7c318a39 100644 --- a/drivers/usb/gadget/fsl_udc.c +++ b/drivers/usb/gadget/fsl_udc.c @@ -562,7 +562,7 @@ static void done(struct fsl_ep *ep, struct fsl_req *req, int status) if (j != req->dtd_count - 1) { next_td = curr_td->next_td_virt; } - dma_free_coherent(curr_td, sizeof(struct ep_td_struct)); + dma_free_coherent(curr_td, 0, sizeof(struct ep_td_struct)); } dma_inv_range((unsigned long)req->req.buf, @@ -1135,7 +1135,8 @@ static struct ep_td_struct *fsl_build_dtd(struct fsl_req *req, unsigned *length, *length = min(req->req.length - req->req.actual, (unsigned)EP_MAX_LENGTH_TRANSFER); - dtd = dma_alloc_coherent(sizeof(struct ep_td_struct)); + dtd = dma_alloc_coherent(sizeof(struct ep_td_struct), + DMA_ADDRESS_BROKEN); if (dtd == NULL) return dtd; @@ -2058,7 +2059,7 @@ static int struct_udc_setup(struct fsl_udc *udc, size &= ~(QH_ALIGNMENT - 1); } - udc->ep_qh = dma_alloc_coherent(size); + udc->ep_qh = dma_alloc_coherent(size, DMA_ADDRESS_BROKEN); if (!udc->ep_qh) { ERR("malloc QHs for udc failed\n"); kfree(udc->eps); |