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 devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel