diff options
Diffstat (limited to 'drivers/char/synclink.c')
-rw-r--r-- | drivers/char/synclink.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/char/synclink.c b/drivers/char/synclink.c index fadab1d9510f..1c9c440f59ce 100644 --- a/drivers/char/synclink.c +++ b/drivers/char/synclink.c | |||
@@ -2942,6 +2942,7 @@ static int mgsl_ioctl(struct tty_struct *tty, struct file * file, | |||
2942 | unsigned int cmd, unsigned long arg) | 2942 | unsigned int cmd, unsigned long arg) |
2943 | { | 2943 | { |
2944 | struct mgsl_struct * info = (struct mgsl_struct *)tty->driver_data; | 2944 | struct mgsl_struct * info = (struct mgsl_struct *)tty->driver_data; |
2945 | int ret; | ||
2945 | 2946 | ||
2946 | if (debug_level >= DEBUG_LEVEL_INFO) | 2947 | if (debug_level >= DEBUG_LEVEL_INFO) |
2947 | printk("%s(%d):mgsl_ioctl %s cmd=%08X\n", __FILE__,__LINE__, | 2948 | printk("%s(%d):mgsl_ioctl %s cmd=%08X\n", __FILE__,__LINE__, |
@@ -2956,7 +2957,10 @@ static int mgsl_ioctl(struct tty_struct *tty, struct file * file, | |||
2956 | return -EIO; | 2957 | return -EIO; |
2957 | } | 2958 | } |
2958 | 2959 | ||
2959 | return mgsl_ioctl_common(info, cmd, arg); | 2960 | lock_kernel(); |
2961 | ret = mgsl_ioctl_common(info, cmd, arg); | ||
2962 | unlock_kernel(); | ||
2963 | return ret; | ||
2960 | } | 2964 | } |
2961 | 2965 | ||
2962 | static int mgsl_ioctl_common(struct mgsl_struct *info, unsigned int cmd, unsigned long arg) | 2966 | static int mgsl_ioctl_common(struct mgsl_struct *info, unsigned int cmd, unsigned long arg) |