Loading drivers/char/briq_panel.c +7 −2 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ #include <linux/module.h> #include <linux/smp_lock.h> #include <linux/types.h> #include <linux/errno.h> #include <linux/tty.h> Loading Loading @@ -67,11 +68,15 @@ static void set_led(char state) static int briq_panel_open(struct inode *ino, struct file *filep) { /* enforce single access */ if (vfd_is_open) lock_kernel(); /* enforce single access, vfd_is_open is protected by BKL */ if (vfd_is_open) { unlock_kernel(); return -EBUSY; } vfd_is_open = 1; unlock_kernel(); return 0; } Loading Loading
drivers/char/briq_panel.c +7 −2 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ #include <linux/module.h> #include <linux/smp_lock.h> #include <linux/types.h> #include <linux/errno.h> #include <linux/tty.h> Loading Loading @@ -67,11 +68,15 @@ static void set_led(char state) static int briq_panel_open(struct inode *ino, struct file *filep) { /* enforce single access */ if (vfd_is_open) lock_kernel(); /* enforce single access, vfd_is_open is protected by BKL */ if (vfd_is_open) { unlock_kernel(); return -EBUSY; } vfd_is_open = 1; unlock_kernel(); return 0; } Loading