Re: [PATCH] input: Synaptics USB device driver

Oliver Neukum
2012-01-04T09:18:57Z

Am Mittwoch, 4. Januar 2012, 09:55:19 schrieb Jiri Kosina:
> On Tue, 3 Jan 2012, Jan Steinhoff wrote:
>
> [ ... snip ... ]
> > +static int synusb_setup_iurb(struct synusb *synusb,
> > + struct usb_endpoint_descriptor *endpoint)
> > +{
> > + char *buf;
> > +
> > + if (endpoint->wMaxPacketSize < 8)
> > + return 0;
> > + if (synusb->iurb) {
> > + synusb_warn(synusb, "Found more than one possible "
> > + "int in endpoint");
> > + return 0;
> > + }
> > + synusb->iurb = usb_alloc_urb(0, GFP_KERNEL);
> > + if (synusb->iurb == NULL)
> > + return -ENOMEM;
> > + buf = usb_alloc_coherent(synusb->udev, 8, GFP_ATOMIC,
> > + &synusb->iurb->transfer_dma);
> > + if (buf == NULL)
> > + return -ENOMEM;
>
> You seem to leak synusb->iurb here.

Seems so, but doesn't. It gets freed when the refcount hits 0.
Now, whether this is a good technique is another question.

Regards
Oliver
--
- - -
SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg)
Maxfeldstraße 5
90409 Nürnberg
Germany
- - -