patch-2.4.0-test4 linux/drivers/sbus/char/pcikbd.c

Next file: linux/drivers/sbus/char/rtc.c
Previous file: linux/drivers/sbus/char/jsflash.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test3/linux/drivers/sbus/char/pcikbd.c linux/drivers/sbus/char/pcikbd.c
@@ -24,6 +24,7 @@
 #include <linux/kbd_kern.h>
 #include <linux/delay.h>
 #include <linux/spinlock.h>
+#include <linux/smp_lock.h>
 #include <linux/init.h>
 
 #include <asm/ebus.h>
@@ -745,9 +746,10 @@
 {
 	unsigned long flags;
 
+	lock_kernel();
 	aux_fasync(-1, file, 0);
 	if (--aux_count)
-		return 0;
+		goto out;
 
 	spin_lock_irqsave(&pcikbd_lock, flags);
 
@@ -760,6 +762,8 @@
 	poll_aux_status();
 
 	spin_unlock_irqrestore(&pcikbd_lock, flags);
+out:
+	unlock_kernel();
 
 	return 0;
 }

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