Michael McConville wrote:
> Michael McConville wrote:
> > Martin Pieuchot wrote:
> > > On 18/09/15(Fri) 11:47, Michael McConville wrote:
> > > > Index: arch/arm/xscale/pxa27x_udc.c
> > > > ===================================================================
> > > > RCS file: /cvs/src/sys/arch/arm/xscale/pxa27x_udc.c,v
> > > > retrieving revision 1.31
> > > > diff -u -p -r1.31 pxa27x_udc.c
> > > > --- arch/arm/xscale/pxa27x_udc.c        15 May 2015 13:32:08 -0000      
> > > > 1.31
> > > > +++ arch/arm/xscale/pxa27x_udc.c        18 Sep 2015 15:40:49 -0000
> > > > @@ -973,9 +973,7 @@ pxaudc_allocx(struct usbf_bus *bus)
> > > >         if (xfer != NULL)
> > > >                 SIMPLEQ_REMOVE_HEAD(&sc->sc_free_xfers, next);
> > > >         else
> > > > -               xfer = malloc(sizeof(struct pxaudc_xfer), M_USB, 
> > > > M_NOWAIT);
> > > > -       if (xfer != NULL)
> > > > -               bzero(xfer, sizeof(struct pxaudc_xfer));
> > > > +               xfer = malloc(sizeof(struct pxaudc_xfer), M_USB, 
> > > > M_NOWAIT | M_ZERO);
> > > >         return xfer;
> > > >  }
> > > 
> > > In case you just removed "xfer" from the free list you're loosing the
> > > bzero.
> > 
> > Ah, good catch. Sorry about that.
> 
> Does this look better?

Needed braces. I'll move slower next time. Sorry for noise.

Index: arch/arm/xscale/pxa27x_udc.c
===================================================================
RCS file: /cvs/src/sys/arch/arm/xscale/pxa27x_udc.c,v
retrieving revision 1.31
diff -u -p -r1.31 pxa27x_udc.c
--- arch/arm/xscale/pxa27x_udc.c        15 May 2015 13:32:08 -0000      1.31
+++ arch/arm/xscale/pxa27x_udc.c        18 Sep 2015 16:33:49 -0000
@@ -970,12 +970,13 @@ pxaudc_allocx(struct usbf_bus *bus)
        struct usbf_xfer *xfer;
 
        xfer = SIMPLEQ_FIRST(&sc->sc_free_xfers);
-       if (xfer != NULL)
+       if (xfer != NULL) {
                SIMPLEQ_REMOVE_HEAD(&sc->sc_free_xfers, next);
-       else
-               xfer = malloc(sizeof(struct pxaudc_xfer), M_USB, M_NOWAIT);
-       if (xfer != NULL)
                bzero(xfer, sizeof(struct pxaudc_xfer));
+       } else {
+               xfer = malloc(sizeof(struct pxaudc_xfer), M_USB,
+                       M_NOWAIT | M_ZERO);
+       }
        return xfer;
 }
 

Reply via email to