mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
ALSA: compress_core: fix open flags test in snd_compr_open()
O_RDONLY is zero so the original test (f->f_flags & O_RDONLY) is always false and it will never do compress capture. The test for O_WRONLY is also slightly off. The original test would consider "->flags = (O_WRONLY | O_RDWR)" as write only instead of rejecting it as invalid. I've also removed the pr_err() because that could flood dmesg. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
07dc59f098
commit
81cb324675
@ -80,14 +80,12 @@ static int snd_compr_open(struct inode *inode, struct file *f)
|
||||
int maj = imajor(inode);
|
||||
int ret;
|
||||
|
||||
if (f->f_flags & O_WRONLY)
|
||||
if ((f->f_flags & O_ACCMODE) == O_WRONLY)
|
||||
dirn = SND_COMPRESS_PLAYBACK;
|
||||
else if (f->f_flags & O_RDONLY)
|
||||
else if ((f->f_flags & O_ACCMODE) == O_RDONLY)
|
||||
dirn = SND_COMPRESS_CAPTURE;
|
||||
else {
|
||||
pr_err("invalid direction\n");
|
||||
else
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (maj == snd_major)
|
||||
compr = snd_lookup_minor_data(iminor(inode),
|
||||
|
Loading…
Reference in New Issue
Block a user