From: Sebastian Andrzej Siewior Date: Tue, 24 Jan 2012 11:44:34 +0000 (+0100) Subject: usb: dwc3: unmap the proper number of sg entries X-Git-Tag: v3.3-rc2~5^2~4^2~1 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=c09d6b51d78f5ad33417dbac9b479bd6709f9f25;p=karo-tx-linux.git usb: dwc3: unmap the proper number of sg entries num_sgs contains the number of sgs assigned by the gadget. num_mapped_sgs contains the number of mapped sgs which may differ from the gadget's values. For dma_unmap_sg() we have to provide the value which was returned by dma_map_sg(). Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Felipe Balbi --- diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index a696bde53222..064b6e2cd411 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -101,7 +101,7 @@ void dwc3_unmap_buffer_from_dma(struct dwc3_request *req) if (req->request.num_mapped_sgs) { req->request.dma = DMA_ADDR_INVALID; dma_unmap_sg(dwc->dev, req->request.sg, - req->request.num_sgs, + req->request.num_mapped_sgs, req->direction ? DMA_TO_DEVICE : DMA_FROM_DEVICE);