diff options
author | Alexander Viro <viro@www.linux.org.uk> | 2004-07-26 06:58:29 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-07-26 06:58:29 -0700 |
commit | 4c7dea975c5d327a89269aa64e62cb4a791b2abe (patch) | |
tree | 7badb8cda4a8a32c5222269779983b9a7432161f /sound | |
parent | b4f428ee2fa4e81699615c5dc87ac9d55aac98f0 (diff) | |
download | history-4c7dea975c5d327a89269aa64e62cb4a791b2abe.tar.gz |
[PATCH] tea575 fix
Very confused ioctl in tea575x - it is called via video_usercopy(), but
assumes that it still has userland pointers. Fixed.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/i2c/other/tea575x-tuner.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/sound/i2c/other/tea575x-tuner.c b/sound/i2c/other/tea575x-tuner.c index 7b9f3ea7653faf..38dbacf90a92dc 100644 --- a/sound/i2c/other/tea575x-tuner.c +++ b/sound/i2c/other/tea575x-tuner.c @@ -85,11 +85,12 @@ static void snd_tea575x_set_freq(tea575x_t *tea) * Linux Video interface */ -static int snd_tea575x_do_ioctl(struct inode *inode, struct file *file, - unsigned int cmd, void *arg) +static int snd_tea575x_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long data) { struct video_device *dev = video_devdata(file); tea575x_t *tea = video_get_drvdata(dev); + void __user *arg = (void __user *)data; switch(cmd) { case VIDIOCGCAP: @@ -167,12 +168,6 @@ static int snd_tea575x_do_ioctl(struct inode *inode, struct file *file, } } -static int snd_tea575x_ioctl(struct inode *inode, struct file *file, - unsigned int cmd, unsigned long arg) -{ - return video_usercopy(inode, file, cmd, arg, snd_tea575x_do_ioctl); -} - /* * initialize all the tea575x chips */ |