diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-08-05 11:17:04 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-08-05 11:17:04 +0200 |
commit | 74bf40f0793fed9e01eb6164c2ce63e8c27ca205 (patch) | |
tree | f41312c0943978842ac258873b29da04d72d0625 /arch/um/drivers/hostaudio_kern.c | |
parent | e71981343ad29b5d929f82ac56c0b27b8ea0e540 (diff) | |
parent | c4685849b4d725ab80cd29f5e09f5f128b4724b5 (diff) |
Merge branch 'topic/misc' into for-linus
Diffstat (limited to 'arch/um/drivers/hostaudio_kern.c')
-rw-r--r-- | arch/um/drivers/hostaudio_kern.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/um/drivers/hostaudio_kern.c b/arch/um/drivers/hostaudio_kern.c index ae42695c359..68142df7660 100644 --- a/arch/um/drivers/hostaudio_kern.c +++ b/arch/um/drivers/hostaudio_kern.c @@ -8,6 +8,7 @@ #include "linux/slab.h" #include "linux/sound.h" #include "linux/soundcard.h" +#include "linux/smp_lock.h" #include "asm/uaccess.h" #include "init.h" #include "os.h" @@ -198,7 +199,10 @@ static int hostaudio_open(struct inode *inode, struct file *file) if (file->f_mode & FMODE_WRITE) w = 1; + lock_kernel(); ret = os_open_file(dsp, of_set_rw(OPENFLAGS(), r, w), 0); + unlock_kernel(); + if (ret < 0) { kfree(state); return ret; @@ -254,7 +258,9 @@ static int hostmixer_open_mixdev(struct inode *inode, struct file *file) if (file->f_mode & FMODE_WRITE) w = 1; + lock_kernel(); ret = os_open_file(mixer, of_set_rw(OPENFLAGS(), r, w), 0); + unlock_kernel(); if (ret < 0) { printk(KERN_ERR "hostaudio_open_mixdev failed to open '%s', " |