diff options
Diffstat (limited to 'drivers/isdn/capi/capi.c')
| -rw-r--r-- | drivers/isdn/capi/capi.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/isdn/capi/capi.c b/drivers/isdn/capi/capi.c index ee5837522f5..0cabe31f26d 100644 --- a/drivers/isdn/capi/capi.c +++ b/drivers/isdn/capi/capi.c | |||
| @@ -787,8 +787,7 @@ capi_poll(struct file *file, poll_table * wait) | |||
| 787 | } | 787 | } |
| 788 | 788 | ||
| 789 | static int | 789 | static int |
| 790 | capi_ioctl(struct inode *inode, struct file *file, | 790 | capi_ioctl(struct file *file, unsigned int cmd, unsigned long arg) |
| 791 | unsigned int cmd, unsigned long arg) | ||
| 792 | { | 791 | { |
| 793 | struct capidev *cdev = file->private_data; | 792 | struct capidev *cdev = file->private_data; |
| 794 | capi_ioctl_struct data; | 793 | capi_ioctl_struct data; |
| @@ -981,6 +980,18 @@ register_out: | |||
| 981 | } | 980 | } |
| 982 | } | 981 | } |
| 983 | 982 | ||
| 983 | static long | ||
| 984 | capi_unlocked_ioctl(struct file *file, unsigned int cmd, unsigned long arg) | ||
| 985 | { | ||
| 986 | int ret; | ||
| 987 | |||
| 988 | lock_kernel(); | ||
| 989 | ret = capi_ioctl(file, cmd, arg); | ||
| 990 | unlock_kernel(); | ||
| 991 | |||
| 992 | return ret; | ||
| 993 | } | ||
| 994 | |||
| 984 | static int capi_open(struct inode *inode, struct file *file) | 995 | static int capi_open(struct inode *inode, struct file *file) |
| 985 | { | 996 | { |
| 986 | struct capidev *cdev; | 997 | struct capidev *cdev; |
| @@ -1026,7 +1037,7 @@ static const struct file_operations capi_fops = | |||
| 1026 | .read = capi_read, | 1037 | .read = capi_read, |
| 1027 | .write = capi_write, | 1038 | .write = capi_write, |
| 1028 | .poll = capi_poll, | 1039 | .poll = capi_poll, |
| 1029 | .ioctl = capi_ioctl, | 1040 | .unlocked_ioctl = capi_unlocked_ioctl, |
| 1030 | .open = capi_open, | 1041 | .open = capi_open, |
| 1031 | .release = capi_release, | 1042 | .release = capi_release, |
| 1032 | }; | 1043 | }; |
