summaryrefslogtreecommitdiffstats
path: root/drivers/media/radio/radio-mr800.c
diff options
context:
space:
mode:
authorDavid Ellingsworth <david@identd.dyndns.org>2009-09-23 23:09:01 +0200
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-12-05 21:40:10 +0100
commit8a7cd16f1fa31ef6db9cfc16b1eb0356566e974d (patch)
tree5aaced0fe7c42a99ca5d8515d3a888aee56e647d /drivers/media/radio/radio-mr800.c
parentV4L/DVB (13067): radio-mr800: fix potential use after free (diff)
downloadlinux-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.c35
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);