Skip to contentSkip to conversation

staging: comedi: ni_daq_700: remove unused private data variable

PATCH In review H Hartley Sweeten 2 participants 2 messages Jun 22, 2012 – Jun 25, 2012 Staging

lore
Share & tools
lore
#0 lore raw

PATCH 17/31 staging: comedi: ni_daq_700: remove unused private data variable

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().

Cc Ian Abbott <[email protected]>
Cc Frank Mori Hess <[email protected]>
Cc Greg Kroah-hartman <[email protected]>
---
 drivers/staging/comedi/drivers/ni_daq_700.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
drivers/staging/comedi/drivers/ni_daq_700.c +1 -4
index 2f84934..525f076 100644
@@ -69,7 +69,6 @@ struct dio700_board {
 struct subdev_700_struct {
 	unsigned long cb_arg;
 	int (*cb_func) (int, int, int, unsigned long);
-	int have_irq;
 };
 
 #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);
 }
 
 static int dio700_attach(struct comedi_device *dev, struct comedi_devconfig *it)
Signature · 1 line
1.7.11
#1 lore raw
Quoted 6 lines · H Hartley Sweeten

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.

drivers/staging/comedi/drivers/ni_daq_700.c static void subdev_700_cleanup(struct comedi_device *dev, · line 168

Quoted 9 lines

#define CALLBACK_ARG (((struct subdev_700_struct *)s->private)->cb_arg)

drivers/staging/comedi/drivers/ni_daq_700.c +1 -3
@@ -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