[PATCH 3/3] Correct: fix staging/spectra: don't use locked_ioctl
Javier Martinez Canillas
martinez.javier at gmail.com
Sat Jul 10 04:07:35 UTC 2010
Last patch has a style problem. Sending the correct one. Sorry for the noise
Since BKL was removed from block ioctl handling code, locked_ioctl doesn't
exist anymore.
Using ioctl instead and doing the locking manually.
>From b2bfc3da2c83066ad773df81787fc9416f5382c2 Mon Sep 17 00:00:00 2001
From: Javier Martinez Canillas <martinez.javier at gmail.com>
Date: Sat, 10 Jul 2010 00:00:16 -0400
Subject: [PATCH 3/3] fix staging/spectra: don't use locked_ioctl
Signed-off-by: Javier Martinez Canillas <martinez.javier at gmail.com>
---
drivers/staging/spectra/ffsport.c | 15 ++++++++++++++-
1 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/drivers/staging/spectra/ffsport.c b/drivers/staging/spectra/ffsport.c
index 00a0ac0..7b34635 100644
--- a/drivers/staging/spectra/ffsport.c
+++ b/drivers/staging/spectra/ffsport.c
@@ -27,6 +27,7 @@
#include <linux/kthread.h>
#include <linux/log2.h>
#include <linux/init.h>
+#include <linux/smp_lock.h>
/**** Helper functions used for Div, Remainder operation on u64 ****/
@@ -589,11 +590,23 @@ int GLOB_SBD_ioctl(struct block_device *bdev, fmode_t mode,
return -ENOTTY;
}
+int GLOB_SBD_unlocked_ioctl(struct block_device *bdev, fmode_t mode,
+ unsigned int cmd, unsigned long arg)
+{
+ int ret;
+
+ lock_kernel();
+ ret = GLOB_SBD_ioctl(bdev, mode, cmd, arg);
+ unlock_kernel();
+
+ return ret;
+}
+
static struct block_device_operations GLOB_SBD_ops = {
.owner = THIS_MODULE,
.open = GLOB_SBD_open,
.release = GLOB_SBD_release,
- .locked_ioctl = GLOB_SBD_ioctl,
+ .ioctl = GLOB_SBD_unlocked_ioctl,
.getgeo = GLOB_SBD_getgeo,
};
--
1.7.0.4
More information about the devel
mailing list