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; }