[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20200825091928.55794-1-alex.dewar90@gmail.com>
Date: Tue, 25 Aug 2020 10:19:28 +0100
From: Alex Dewar <alex.dewar90@...il.com>
To: dan.carpenter@...cle.com
Cc: alex.dewar90@...il.com, damm+renesas@...nsource.se,
devel@...verdev.osuosl.org, frank@...eralsoftwareinc.com,
gregkh@...uxfoundation.org, horms+renesas@...ge.net.au,
jarias.linux@...il.com, linux-kernel@...r.kernel.org,
saiyamdoshi.in@...il.com, yuehaibing@...wei.com
Subject: [PATCH v2] staging: emxx_udc: Fix passing of NULL to dma_alloc_coherent()
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: 33aa8d45a4fe ("staging: emxx_udc: Add Emma Mobile USB Gadget driver")
Reported-by: Dan Carpenter <dan.carpenter@...cle.com>
Signed-off-by: Alex Dewar <alex.dewar90@...il.com>
---
v2: also fix call to dma_free_coherent() (Dan)
@Magnus: I noticed you contributed this code back in 2014... I don't
suppose you happen to have the hardware lying around to test this so we
can get a Tested-by....? :)
---
drivers/staging/emxx_udc/emxx_udc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/emxx_udc/emxx_udc.c b/drivers/staging/emxx_udc/emxx_udc.c
index 03929b9d3a8bc..d0725bc8b48a4 100644
--- a/drivers/staging/emxx_udc/emxx_udc.c
+++ b/drivers/staging/emxx_udc/emxx_udc.c
@@ -2593,7 +2593,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) {
@@ -3148,7 +3148,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);
}
--
2.28.0
Powered by blists - more mailing lists