1
0
Fork 0

briq_panel: BKL pushdown

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
wifi-calibration
Arnd Bergmann 2008-05-20 19:15:41 +02:00 committed by Jonathan Corbet
parent 8324af6ddd
commit 556889a4ae
1 changed files with 7 additions and 2 deletions

View File

@ -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;
}