diff options
author | Wen-chien Jesse Sung <jesse@cola.voip.idv.tw> | 2004-07-06 09:20:21 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-07-06 09:20:21 -0700 |
commit | da0504fc84c0a8a3c21412fc92795035350c827a (patch) | |
tree | 3f840fbc632dbe1a14073a2772a859b1161861fc /sound | |
parent | c105abb358d74cc256736ab3e9ef760544a525f5 (diff) | |
download | history-da0504fc84c0a8a3c21412fc92795035350c827a.tar.gz |
[PATCH] snd_ctl_read() fix fix
hm, I had a brainfart here. The recent "fix" to snd_ctl_read() actually
unfixed it. Revert that, and fix the real bug.
Cc: Jaroslav Kysela <perex@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/core/control.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/core/control.c b/sound/core/control.c index df757e20d35049..c39afa644aca0f 100644 --- a/sound/core/control.c +++ b/sound/core/control.c @@ -1116,7 +1116,7 @@ static ssize_t snd_ctl_read(struct file *file, char __user *buffer, size_t count wait_queue_t wait; if ((file->f_flags & O_NONBLOCK) != 0 || result > 0) { err = -EAGAIN; - goto out; + goto __end; } init_waitqueue_entry(&wait, current); add_wait_queue(&ctl->change_sleep, &wait); @@ -1137,7 +1137,7 @@ static ssize_t snd_ctl_read(struct file *file, char __user *buffer, size_t count kfree(kev); if (copy_to_user(buffer, &ev, sizeof(snd_ctl_event_t))) { err = -EFAULT; - goto __end; + goto out; } spin_lock_irq(&ctl->read_lock); buffer += sizeof(snd_ctl_event_t); |