Parcourir la source

[media] drivers/media/rc: postpone kfree(rc_dev)

CONFIG_DEBUG_KOBJECT_RELEASE found this bug.

Signed-off-by: Max Kellermann <max@duempel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Max Kellermann il y a 9 ans
Parent
commit
47cae1e1cf
1 fichiers modifiés avec 6 ajouts et 1 suppressions
  1. 6 1
      drivers/media/rc/rc-main.c

+ 6 - 1
drivers/media/rc/rc-main.c

@@ -1263,6 +1263,9 @@ unlock:
 
 
 static void rc_dev_release(struct device *device)
 static void rc_dev_release(struct device *device)
 {
 {
+	struct rc_dev *dev = to_rc_dev(device);
+
+	kfree(dev);
 }
 }
 
 
 #define ADD_HOTPLUG_VAR(fmt, val...)					\
 #define ADD_HOTPLUG_VAR(fmt, val...)					\
@@ -1384,7 +1387,9 @@ void rc_free_device(struct rc_dev *dev)
 
 
 	put_device(&dev->dev);
 	put_device(&dev->dev);
 
 
-	kfree(dev);
+	/* kfree(dev) will be called by the callback function
+	   rc_dev_release() */
+
 	module_put(THIS_MODULE);
 	module_put(THIS_MODULE);
 }
 }
 EXPORT_SYMBOL_GPL(rc_free_device);
 EXPORT_SYMBOL_GPL(rc_free_device);