diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2012-04-19 17:27:56 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-04-19 22:23:38 +0200 |
commit | ee71e7b3ae1780e4475aa5dd980dd99c0309079b (patch) | |
tree | 4c15e0fc2f11ebd5fe5dee23575b87f7394566ed /drivers | |
parent | [media] pluto2: remove some dead code (diff) | |
download | linux-ee71e7b3ae1780e4475aa5dd980dd99c0309079b.tar.xz linux-ee71e7b3ae1780e4475aa5dd980dd99c0309079b.zip |
[media] V4L: fix incorrect refcounting
Both radio-keene and dsbr100 did one v4l2_device_get too many. Thus the refcount
never became 0 and that causes a memory leak.
Also updated the V4L2 framework documentation accordingly.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/radio/dsbr100.c | 1 | ||||
-rw-r--r-- | drivers/media/radio/radio-keene.c | 1 |
2 files changed, 0 insertions, 2 deletions
diff --git a/drivers/media/radio/dsbr100.c b/drivers/media/radio/dsbr100.c index f36905b63645..bf813a63ab2a 100644 --- a/drivers/media/radio/dsbr100.c +++ b/drivers/media/radio/dsbr100.c @@ -481,7 +481,6 @@ static void usb_dsbr100_disconnect(struct usb_interface *intf) { struct dsbr100_device *radio = usb_get_intfdata(intf); - v4l2_device_get(&radio->v4l2_dev); mutex_lock(&radio->v4l2_lock); usb_set_intfdata(intf, NULL); video_unregister_device(&radio->videodev); diff --git a/drivers/media/radio/radio-keene.c b/drivers/media/radio/radio-keene.c index 26a2b7a0304e..5f33047d0d43 100644 --- a/drivers/media/radio/radio-keene.c +++ b/drivers/media/radio/radio-keene.c @@ -148,7 +148,6 @@ static void usb_keene_disconnect(struct usb_interface *intf) { struct keene_device *radio = to_keene_dev(usb_get_intfdata(intf)); - v4l2_device_get(&radio->v4l2_dev); mutex_lock(&radio->lock); usb_set_intfdata(intf, NULL); video_unregister_device(&radio->vdev); |