aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2019-02-17 09:12:41 -0500
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2019-02-18 12:31:58 -0500
commit959bba134238452b0a2f5c7d107d7d05b358b41f (patch)
tree798b29149d1d105d302b1ac7cf178c0e94687d4a
parentmedia: soc_camera: Depend on BROKEN (diff)
downloadlinux-dev-959bba134238452b0a2f5c7d107d7d05b358b41f.tar.xz
linux-dev-959bba134238452b0a2f5c7d107d7d05b358b41f.zip
media: vivid: two unregistration fixes
When the media device registration fails, don't call media_device_unregister since the device was never actually registered. When removing the module also call media_device_cleanup() to avoid a memory leak. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-rw-r--r--drivers/media/platform/vivid/vivid-core.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/media/platform/vivid/vivid-core.c b/drivers/media/platform/vivid/vivid-core.c
index 29e7b14fa704..342e0e6c103b 100644
--- a/drivers/media/platform/vivid/vivid-core.c
+++ b/drivers/media/platform/vivid/vivid-core.c
@@ -1478,9 +1478,6 @@ static int vivid_create_instance(struct platform_device *pdev, int inst)
return 0;
unreg_dev:
-#ifdef CONFIG_MEDIA_CONTROLLER
- media_device_unregister(&dev->mdev);
-#endif
video_unregister_device(&dev->radio_tx_dev);
video_unregister_device(&dev->radio_rx_dev);
video_unregister_device(&dev->sdr_cap_dev);
@@ -1553,6 +1550,7 @@ static int vivid_remove(struct platform_device *pdev)
#ifdef CONFIG_MEDIA_CONTROLLER
media_device_unregister(&dev->mdev);
+ media_device_cleanup(&dev->mdev);
#endif
if (dev->has_vid_cap) {