diff options
Diffstat (limited to 'drivers/char/wdt.c')
-rw-r--r-- | drivers/char/wdt.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/char/wdt.c b/drivers/char/wdt.c index 3ac86bf3a..bde40c589 100644 --- a/drivers/char/wdt.c +++ b/drivers/char/wdt.c @@ -35,6 +35,7 @@ #include <linux/errno.h> #include <linux/kernel.h> #include <linux/sched.h> +#include <linux/smp_lock.h> #include <linux/miscdevice.h> #include <linux/watchdog.h> #include "wd501p.h" @@ -372,6 +373,7 @@ static int wdt_open(struct inode *inode, struct file *file) static int wdt_release(struct inode *inode, struct file *file) { + lock_kernel(); if(MINOR(inode->i_rdev)==WATCHDOG_MINOR) { #ifndef CONFIG_WATCHDOG_NOWAYOUT @@ -380,6 +382,7 @@ static int wdt_release(struct inode *inode, struct file *file) #endif wdt_is_open=0; } + unlock_kernel(); return 0; } |