mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
briq_panel: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
8324af6ddd
commit
556889a4ae
@ -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>
|
||||
@ -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…
Reference in New Issue
Block a user