patch-2.4.0-test4 linux/drivers/sbus/audio/audio.c

Next file: linux/drivers/sbus/char/bpp.c
Previous file: linux/drivers/pnp/isapnp_proc.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test3/linux/drivers/sbus/audio/audio.c linux/drivers/sbus/audio/audio.c
@@ -24,6 +24,7 @@
 #include <linux/fs.h>
 #include <linux/kernel.h>
 #include <linux/sched.h>
+#include <linux/smp_lock.h>
 #include <linux/mm.h>
 #include <linux/tqueue.h>
 #include <linux/major.h>
@@ -1910,6 +1911,7 @@
         struct sparcaudio_driver *drv = drivers[(MINOR(inode->i_rdev) >>
                                                  SPARCAUDIO_DEVICE_SHIFT)];
 
+	lock_kernel();
         if (file->f_mode & FMODE_READ) {
                 /* Stop input */
                 drv->ops->stop_input(drv);
@@ -1951,11 +1953,13 @@
         kill_procs(drv->sd_siglist,SIGPOLL,S_MSG);
 
         wake_up_interruptible(&drv->open_wait);
+	unlock_kernel();
 
         return 0;
 }
 
 static struct file_operations sparcaudio_fops = {
+	owner:		THIS_MODULE,
 	llseek:		sparcaudio_lseek,
 	read:		sparcaudio_read,
 	write:		sparcaudio_write,

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)