On Fri, Jun 22, 2012 at 04:26:46PM -0700, H Hartley Sweeten wrote:
> The 'have_irq' variable is not needed since this driver doesn't
> use interrupts. Remove it.
> 
> The kfree(s->private) needs to remain to free the memory allocated
> in subdev_700_init().
> 

Hm...  That's weird.  The function which set have_irq to 1 was never
called and you already removed it in a previous patch.

So this fixes a memory leak right?  Because the kfree() was never
called in the original code.  Please mark bug fixes as special if
you can.

>  #define CALLBACK_ARG (((struct subdev_700_struct *)s->private)->cb_arg)
> @@ -166,9 +165,7 @@ static void subdev_700_cleanup(struct comedi_device *dev,
>                              struct comedi_subdevice *s)
>  {
>       if (s->private)
> -             if (subdevpriv->have_irq)
> -
> -                     kfree(s->private);
> +             kfree(s->private);

You could also remove the: "if (s->private)" check.

regards,
dan carpenter


_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to