[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>
This commit is contained in:
parent
acc37e8f86
commit
47cae1e1cf
1 changed files with 6 additions and 1 deletions
|
@ -1263,6 +1263,9 @@ static ssize_t store_filter(struct device *device,
|
||||||
|
|
||||||
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);
|
||||||
|
|
Loading…
Add table
Reference in a new issue