> Date: Fri, 7 Mar 2014 15:09:23 +0100
> From: Martin Pieuchot <[email protected]>
> 
> Since usbd pipes contain a per-controller part, I'd like to malloc them
> with M_ZERO to properly initialize the per-controller fields to 0.
> 
> ok?

Makes sense to me.

> Index: usb_subr.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/usb/usb_subr.c,v
> retrieving revision 1.98
> diff -u -p -r1.98 usb_subr.c
> --- usb_subr.c        9 Feb 2014 13:21:48 -0000       1.98
> +++ usb_subr.c        7 Mar 2014 13:58:34 -0000
> @@ -793,25 +793,20 @@ usbd_setup_pipe(struct usbd_device *dev,
>       struct usbd_pipe *p;
>       usbd_status err;
>  
> -     DPRINTFN(1,("usbd_setup_pipe: dev=%p iface=%p ep=%p pipe=%p\n",
> +     DPRINTF(("%s: dev=%p iface=%p ep=%p pipe=%p\n", __func__,
>                   dev, iface, ep, pipe));
> -     p = malloc(dev->bus->pipe_size, M_USB, M_NOWAIT);
> +     p = malloc(dev->bus->pipe_size, M_USB, M_NOWAIT|M_ZERO);
>       if (p == NULL)
>               return (USBD_NOMEM);
>       p->device = dev;
>       p->iface = iface;
>       p->endpoint = ep;
>       ep->refcnt++;
> -     p->intrxfer = 0;
> -     p->running = 0;
> -     p->aborting = 0;
> -     p->repeat = 0;
>       p->interval = ival;
>       SIMPLEQ_INIT(&p->queue);
>       err = dev->bus->methods->open_pipe(p);
>       if (err) {
> -             DPRINTFN(-1,("usbd_setup_pipe: endpoint=0x%x failed, error="
> -                      "%s\n",
> +             DPRINTF(("%s: endpoint=0x%x failed, error=%s\n", __func__,
>                        ep->edesc->bEndpointAddress, usbd_errstr(err)));
>               free(p, M_USB);
>               return (err);
> 
> 

Reply via email to