]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/char/ipmi/ipmi_watchdog.c
saner FASYNC handling on file close
[linux-2.6-omap-h63xx.git] / drivers / char / ipmi / ipmi_watchdog.c
index 0e6df289cb46e8202df710903278ebe6c1fb2a0c..a4d57e31f713bc0c9d11f54b610ab33365e6b692 100644 (file)
@@ -35,6 +35,7 @@
 #include <linux/moduleparam.h>
 #include <linux/ipmi.h>
 #include <linux/ipmi_smi.h>
+#include <linux/smp_lock.h>
 #include <linux/watchdog.h>
 #include <linux/miscdevice.h>
 #include <linux/init.h>
@@ -818,6 +819,8 @@ static int ipmi_open(struct inode *ino, struct file *filep)
                if (test_and_set_bit(0, &ipmi_wdog_open))
                        return -EBUSY;
 
+               cycle_kernel_lock();
+
                /*
                 * Don't start the timer now, let it start on the
                 * first heartbeat.
@@ -867,7 +870,6 @@ static int ipmi_close(struct inode *ino, struct file *filep)
                clear_bit(0, &ipmi_wdog_open);
        }
 
-       ipmi_fasync(-1, filep, 0);
        expect_close = 0;
 
        return 0;