diff options
-rw-r--r-- | 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 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 | ||
593 | int 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 | |||
592 | static struct block_device_operations GLOB_SBD_ops = { | 605 | static 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 | ||