42 lines
1.4 KiB
Diff
42 lines
1.4 KiB
Diff
|
From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Bri=C3=A8re?= <fbriere@fbriere.net>
|
||
|
Date: Fri, 20 May 2011 12:50:53 -0400
|
||
|
Subject: Linux module: Use .unlocked_ioctl instead of .ioctl
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
cbm_ioctl() does not assume it is holding the BKL, so we can move it
|
||
|
as-is from .ioctl to .unlocked_ioctl.
|
||
|
|
||
|
Signed-off-by: Frédéric Brière <fbriere@fbriere.net>
|
||
|
|
||
|
Forwarded: yes
|
||
|
---
|
||
|
sys/linux/cbm_module.c | 5 ++---
|
||
|
1 files changed, 2 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/sys/linux/cbm_module.c b/sys/linux/cbm_module.c
|
||
|
index dd41b78..f38e388 100644
|
||
|
--- a/sys/linux/cbm_module.c
|
||
|
+++ b/sys/linux/cbm_module.c
|
||
|
@@ -627,8 +627,7 @@ static int cbm_write(struct inode *inode, struct file *f, const char *buf, int c
|
||
|
return cbm_raw_write(buf, cnt, 0, 0);
|
||
|
}
|
||
|
|
||
|
-static int cbm_ioctl(struct inode *inode, struct file *f,
|
||
|
- unsigned int cmd, unsigned long arg)
|
||
|
+static long cbm_ioctl(struct file *f, unsigned int cmd, unsigned long arg)
|
||
|
{
|
||
|
|
||
|
/*linux parallel burst */
|
||
|
@@ -924,7 +923,7 @@ static struct file_operations cbm_fops =
|
||
|
#endif
|
||
|
.read = cbm_read, /* read */
|
||
|
.write = cbm_write, /* write */
|
||
|
- .ioctl = cbm_ioctl, /* ioctl */
|
||
|
+ .unlocked_ioctl = cbm_ioctl, /* ioctl */
|
||
|
.open = cbm_open, /* open */
|
||
|
.release = cbm_release, /* release */
|
||
|
};
|
||
|
--
|