On Mon, Aug 24, 2020 at 04:19:17PM +0100, Alex Dewar wrote: > 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. > > Build-tested on x86 only. > > Fixes: 33aa8d45a4fe ("staging: emxx_udc: Add Emma Mobile USB Gadget driver") > Signed-off-by: Alex Dewar <alex.dewar90@xxxxxxxxx> > --- > > So I *think* this is the right fix, but I don't have the hardware so > I've only been able to build-test it. My worry is that I could be > passing in the wrong struct device* here, which would squelch the > warning without fixing the breakage. > > Can someone cleverer than me tell me if this makes sense? > > - Alex PS -- I meant to put an RFC in the subject line and an extra tag: Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > --- > drivers/staging/emxx_udc/emxx_udc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/staging/emxx_udc/emxx_udc.c b/drivers/staging/emxx_udc/emxx_udc.c > index 03929b9d3a8b..09e91449c08c 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) { > -- > 2.28.0 > _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel