Re: [PATCH] staging: emxx_udc: Fix passing of NULL to dma_alloc_coherent()

From: Alex Dewar
Date: Tue Aug 25 2020 - 04:15:07 EST


On Tue, Aug 25, 2020 at 10:37:13AM +0300, Dan Carpenter wrote:
> On Mon, Aug 24, 2020 at 04:57:12PM +0100, Alex Dewar wrote:
> > 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.
>
> I think passing NULL was always wrong, but it used to not cause an Oops.
> This was changed a year or two ago.
>
> > >
> > > 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>
> >
>
> I don't know which dev pointer we're supposed to pass... It would be
> good to find someone to test the patch but if not then applying your
> patch is reasonable.
>
> But could you search through the file and update the rest as well.
> The dma_free_coherent() needs to be updated and there was a second
> dma_alloc_coherent() in the bug report.
>
> regards,
> dan carpenter
>

I can only find the one instance of dma_alloc_coherent(). Was it by any
chance a different warning about the same call....?