diff options
author | David Ellingsworth <david@identd.dyndns.org> | 2009-09-23 23:09:01 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-12-05 21:40:10 +0100 |
commit | 8a7cd16f1fa31ef6db9cfc16b1eb0356566e974d (patch) | |
tree | 5aaced0fe7c42a99ca5d8515d3a888aee56e647d /drivers/media/radio/radio-mr800.c | |
parent | V4L/DVB (13067): radio-mr800: fix potential use after free (diff) | |
download | linux-8a7cd16f1fa31ef6db9cfc16b1eb0356566e974d.tar.xz linux-8a7cd16f1fa31ef6db9cfc16b1eb0356566e974d.zip |
V4L/DVB (13068): radio-mr800: remove device initialization from open/close
Remove device initialization from open/close.
Signed-off-by: David Ellingsworth <david@identd.dyndns.org>
Acked-by: Alexey Klimov <klimov.linux@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/radio/radio-mr800.c')
-rw-r--r-- | drivers/media/radio/radio-mr800.c | 35 |
1 files changed, 2 insertions, 33 deletions
diff --git a/drivers/media/radio/radio-mr800.c b/drivers/media/radio/radio-mr800.c index dbae50ba250c..399032e8cc18 100644 --- a/drivers/media/radio/radio-mr800.c +++ b/drivers/media/radio/radio-mr800.c @@ -136,7 +136,6 @@ struct amradio_device { struct mutex lock; /* buffer locking */ int curfreq; int stereo; - int users; int muted; }; @@ -493,26 +492,6 @@ static int usb_amradio_open(struct file *file) } file->private_data = radio; - radio->users = 1; - radio->muted = 1; - - retval = amradio_set_mute(radio, AMRADIO_START); - if (retval < 0) { - amradio_dev_warn(&radio->videodev.dev, - "radio did not start up properly\n"); - radio->users = 0; - goto unlock; - } - - retval = amradio_set_stereo(radio, WANT_STEREO); - if (retval < 0) - amradio_dev_warn(&radio->videodev.dev, - "set stereo failed\n"); - - retval = amradio_setfreq(radio, radio->curfreq); - if (retval < 0) - amradio_dev_warn(&radio->videodev.dev, - "set frequency failed\n"); unlock: mutex_unlock(&radio->lock); @@ -527,19 +506,9 @@ static int usb_amradio_close(struct file *file) mutex_lock(&radio->lock); - if (!radio->usbdev) { + if (!radio->usbdev) retval = -EIO; - goto unlock; - } - - radio->users = 0; - retval = amradio_set_mute(radio, AMRADIO_STOP); - if (retval < 0) - amradio_dev_warn(&radio->videodev.dev, - "amradio_stop failed\n"); - -unlock: mutex_unlock(&radio->lock); return retval; } @@ -670,10 +639,10 @@ static int usb_amradio_probe(struct usb_interface *intf, radio->videodev.ioctl_ops = &usb_amradio_ioctl_ops; radio->videodev.release = usb_amradio_video_device_release; - radio->users = 0; radio->usbdev = interface_to_usbdev(intf); radio->curfreq = 95.16 * FREQ_MUL; radio->stereo = -1; + radio->muted = 1; mutex_init(&radio->lock); |