mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 06:09:23 -04:00
staging: emxx_udc: Fix passing of NULL to dma_alloc_coherent()
[ Upstream commit cc34073c6248e9cec801bf690d1455f264d12357 ]
In nbu2ss_eq_queue() memory is allocated with dma_alloc_coherent(),
though, strangely, NULL is passed as the struct device* argument. Pass
the UDC's device instead. Fix up the corresponding call to
dma_free_coherent() in the same way.
Build-tested on x86 only.
Fixes: 33aa8d45a4 ("staging: emxx_udc: Add Emma Mobile USB Gadget driver")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Alex Dewar <alex.dewar90@gmail.com>
Link: https://lore.kernel.org/r/20200825091928.55794-1-alex.dewar90@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
f87f0236bd
commit
659da2df0c
1 changed files with 2 additions and 2 deletions
|
|
@ -2594,7 +2594,7 @@ static int nbu2ss_ep_queue(struct usb_ep *_ep,
|
|||
|
||||
if (req->unaligned) {
|
||||
if (!ep->virt_buf)
|
||||
ep->virt_buf = dma_alloc_coherent(NULL, PAGE_SIZE,
|
||||
ep->virt_buf = dma_alloc_coherent(udc->dev, PAGE_SIZE,
|
||||
&ep->phys_buf,
|
||||
GFP_ATOMIC | GFP_DMA);
|
||||
if (ep->epnum > 0) {
|
||||
|
|
@ -3153,7 +3153,7 @@ static int nbu2ss_drv_remove(struct platform_device *pdev)
|
|||
for (i = 0; i < NUM_ENDPOINTS; i++) {
|
||||
ep = &udc->ep[i];
|
||||
if (ep->virt_buf)
|
||||
dma_free_coherent(NULL, PAGE_SIZE, (void *)ep->virt_buf,
|
||||
dma_free_coherent(udc->dev, PAGE_SIZE, (void *)ep->virt_buf,
|
||||
ep->phys_buf);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue