We can only free the media device after being sure that no graph object is used.
In order to help tracking it, let's add debug messages that will print when the media controller gets registered or unregistered.
Change-Id: Iceba1fdaa5d4dd1cde725a49a38d93cc05eac3ef Signed-off-by: Mauro Carvalho Chehab mchehab@osg.samsung.com Acked-by: Hans Verkuil hans.verkuil@cisco.com --- drivers/media/media-device.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/drivers/media/media-device.c b/drivers/media/media-device.c index 065f6f08da37..0f3844470147 100644 --- a/drivers/media/media-device.c +++ b/drivers/media/media-device.c @@ -359,6 +359,7 @@ static DEVICE_ATTR(model, S_IRUGO, show_model, NULL);
static void media_device_release(struct media_devnode *mdev) { + dev_dbg(mdev->parent, "Media device released\n"); }
/** @@ -397,6 +398,8 @@ int __must_check __media_device_register(struct media_device *mdev, return ret; }
+ dev_dbg(mdev->dev, "Media device registered\n"); + return 0; } EXPORT_SYMBOL_GPL(__media_device_register); @@ -416,6 +419,8 @@ void media_device_unregister(struct media_device *mdev)
device_remove_file(&mdev->devnode.dev, &dev_attr_model); media_devnode_unregister(&mdev->devnode); + + dev_dbg(mdev->dev, "Media device unregistered\n"); } EXPORT_SYMBOL_GPL(media_device_unregister);