Re: [PATCH 17/31] staging: comedi: ni_daq_700: remove unused privatedata variable

From: Dan Carpenter
Date: Mon Jun 25 2012 - 03:31:38 EST


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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/