diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-24 11:01:10 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-24 11:01:10 -0400 |
commit | f13771187b9423b824f32518319f6da85d819003 (patch) | |
tree | c431cf16c286065a302d5f3fb43fc1abac7e4047 /drivers/pcmcia | |
parent | 15953654cc312429740fd58fb37a5a3d63a54376 (diff) | |
parent | 9f37af654fda88a8dcca74c785f6c20e52758866 (diff) |
Merge branch 'bkl/ioctl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing
* 'bkl/ioctl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:
uml: Pushdown the bkl from harddog_kern ioctl
sunrpc: Pushdown the bkl from sunrpc cache ioctl
sunrpc: Pushdown the bkl from ioctl
autofs4: Pushdown the bkl from ioctl
uml: Convert to unlocked_ioctls to remove implicit BKL
ncpfs: BKL ioctl pushdown
coda: Clean-up whitespace problems in pioctl.c
coda: BKL ioctl pushdown
drivers: Push down BKL into various drivers
isdn: Push down BKL into ioctl functions
scsi: Push down BKL into ioctl functions
dvb: Push down BKL into ioctl functions
smbfs: Push down BKL into ioctl function
coda/psdev: Remove BKL from ioctl function
um/mmapper: Remove BKL usage
sn_hwperf: Kill BKL usage
hfsplus: Push down BKL into ioctl function
Diffstat (limited to 'drivers/pcmcia')
-rw-r--r-- | drivers/pcmcia/pcmcia_ioctl.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/pcmcia/pcmcia_ioctl.c b/drivers/pcmcia/pcmcia_ioctl.c index ef0c5f133691..d007a2a03830 100644 --- a/drivers/pcmcia/pcmcia_ioctl.c +++ b/drivers/pcmcia/pcmcia_ioctl.c | |||
@@ -813,8 +813,7 @@ static u_int ds_poll(struct file *file, poll_table *wait) | |||
813 | 813 | ||
814 | /*====================================================================*/ | 814 | /*====================================================================*/ |
815 | 815 | ||
816 | static int ds_ioctl(struct inode *inode, struct file *file, | 816 | static int ds_ioctl(struct file *file, u_int cmd, u_long arg) |
817 | u_int cmd, u_long arg) | ||
818 | { | 817 | { |
819 | struct pcmcia_socket *s; | 818 | struct pcmcia_socket *s; |
820 | void __user *uarg = (char __user *)arg; | 819 | void __user *uarg = (char __user *)arg; |
@@ -1021,13 +1020,25 @@ free_out: | |||
1021 | return err; | 1020 | return err; |
1022 | } /* ds_ioctl */ | 1021 | } /* ds_ioctl */ |
1023 | 1022 | ||
1023 | static long ds_unlocked_ioctl(struct file *file, unsigned int cmd, unsigned long arg) | ||
1024 | { | ||
1025 | int ret; | ||
1026 | |||
1027 | lock_kernel(); | ||
1028 | ret = ds_ioctl(file, cmd, arg); | ||
1029 | unlock_kernel(); | ||
1030 | |||
1031 | return ret; | ||
1032 | } | ||
1033 | |||
1034 | |||
1024 | /*====================================================================*/ | 1035 | /*====================================================================*/ |
1025 | 1036 | ||
1026 | static const struct file_operations ds_fops = { | 1037 | static const struct file_operations ds_fops = { |
1027 | .owner = THIS_MODULE, | 1038 | .owner = THIS_MODULE, |
1028 | .open = ds_open, | 1039 | .open = ds_open, |
1029 | .release = ds_release, | 1040 | .release = ds_release, |
1030 | .ioctl = ds_ioctl, | 1041 | .unlocked_ioctl = ds_unlocked_ioctl, |
1031 | .read = ds_read, | 1042 | .read = ds_read, |
1032 | .write = ds_write, | 1043 | .write = ds_write, |
1033 | .poll = ds_poll, | 1044 | .poll = ds_poll, |