Skip to contentSkip to conversation

nwflash: Push down BKL

PATCH In review Alan Cox 2 participants 2 messages May 22, 2008 – Jul 8, 2008 Char and misc drivers

lore
Share & tools
lore

Alan Cox

author
#0 lore raw

PATCH 1/1 nwflash: Push down BKL

Push the BKL down into the driver ready for the BKL ioctl removal

drivers/char/nwflash.c +8 -4
index ba012c2..02d882b 100644
@@ -95,8 +95,11 @@ static int get_flash_id(void)
 	return c2;
 }
 
-static int flash_ioctl(struct inode *inodep, struct file *filep, unsigned int cmd, unsigned long arg)
+static long flash_ioctl(struct file *filep, unsigned int cmd,
+							unsigned long arg)
 {
+	long ret = 0;
+	lock_kernel();
 	switch (cmd) {
 	case CMD_WRITE_DISABLE:
 		gbWriteBase64Enable = 0;
@@ -114,9 +117,10 @@ static int flash_ioctl(struct inode *inodep, struct file *filep, unsigned int cm
 	default:
 		gbWriteBase64Enable = 0;
 		gbWriteEnable = 0;
-		return -EINVAL;
+		ret = -ENOTTY;
 	}
-	return 0;
+	unlock_kernel();
+	return ret;
 }
 
 static ssize_t flash_read(struct file *file, char __user *buf, size_t size,
@@ -647,7 +651,7 @@ static const struct file_operations flash_fops =
 	.llseek		= flash_llseek,
 	.read		= flash_read,
 	.write		= flash_write,
-	.ioctl		= flash_ioctl,
+	.unlocked_ioctl	= flash_ioctl,
 };
 
 static struct miscdevice flash_miscdev =
Acked-by on v1 1/1
#1 lore raw
Quoted 1 line · Alan Cox

Push the BKL down into the driver ready for the BKL ioctl removal

I'm nervous about large changes to this driver, since it's possible to brick Netwinders with it, but this change is simple enough.

Quoted 1 line
Signature · 3 lines
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of: