aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/spectra/ffsport.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/drivers/staging/spectra/ffsport.c b/drivers/staging/spectra/ffsport.c
index 00a0ac03a49a..7b3463514c38 100644
--- a/drivers/staging/spectra/ffsport.c
+++ b/drivers/staging/spectra/ffsport.c
@@ -27,6 +27,7 @@
27#include <linux/kthread.h> 27#include <linux/kthread.h>
28#include <linux/log2.h> 28#include <linux/log2.h>
29#include <linux/init.h> 29#include <linux/init.h>
30#include <linux/smp_lock.h>
30 31
31/**** Helper functions used for Div, Remainder operation on u64 ****/ 32/**** Helper functions used for Div, Remainder operation on u64 ****/
32 33
@@ -589,11 +590,23 @@ int GLOB_SBD_ioctl(struct block_device *bdev, fmode_t mode,
589 return -ENOTTY; 590 return -ENOTTY;
590} 591}
591 592
593int GLOB_SBD_unlocked_ioctl(struct block_device *bdev, fmode_t mode,
594 unsigned int cmd, unsigned long arg)
595{
596 int ret;
597
598 lock_kernel();
599 ret = GLOB_SBD_ioctl(bdev, mode, cmd, arg);
600 unlock_kernel();
601
602 return ret;
603}
604
592static struct block_device_operations GLOB_SBD_ops = { 605static struct block_device_operations GLOB_SBD_ops = {
593 .owner = THIS_MODULE, 606 .owner = THIS_MODULE,
594 .open = GLOB_SBD_open, 607 .open = GLOB_SBD_open,
595 .release = GLOB_SBD_release, 608 .release = GLOB_SBD_release,
596 .locked_ioctl = GLOB_SBD_ioctl, 609 .ioctl = GLOB_SBD_unlocked_ioctl,
597 .getgeo = GLOB_SBD_getgeo, 610 .getgeo = GLOB_SBD_getgeo,
598}; 611};
599 612