Skip to content

Commit

Permalink
serial167: prepare to push BKL down into drivers
Browse files Browse the repository at this point in the history
Kill the softcar handlers again, wrap the ioctl handler in the BKL

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Alan Cox authored and Linus Torvalds committed Apr 30, 2008
1 parent bdf183a commit 638157b
Showing 1 changed file with 3 additions and 12 deletions.
15 changes: 3 additions & 12 deletions drivers/char/serial167.c
Original file line number Diff line number Diff line change
Expand Up @@ -1539,6 +1539,8 @@ cy_ioctl(struct tty_struct *tty, struct file *file,
printk("cy_ioctl %s, cmd = %x arg = %lx\n", tty->name, cmd, arg); /* */
#endif

lock_kernel();

switch (cmd) {
case CYGETMON:
ret_val = get_mon_info(info, argp);
Expand Down Expand Up @@ -1584,18 +1586,6 @@ cy_ioctl(struct tty_struct *tty, struct file *file,
break;

/* The following commands are incompletely implemented!!! */
case TIOCGSOFTCAR:
ret_val =
put_user(C_CLOCAL(tty) ? 1 : 0,
(unsigned long __user *)argp);
break;
case TIOCSSOFTCAR:
ret_val = get_user(val, (unsigned long __user *)argp);
if (ret_val)
break;
tty->termios->c_cflag =
((tty->termios->c_cflag & ~CLOCAL) | (val ? CLOCAL : 0));
break;
case TIOCGSERIAL:
ret_val = get_serial_info(info, argp);
break;
Expand All @@ -1605,6 +1595,7 @@ cy_ioctl(struct tty_struct *tty, struct file *file,
default:
ret_val = -ENOIOCTLCMD;
}
unlock_kernel();

#ifdef SERIAL_DEBUG_OTHER
printk("cy_ioctl done\n");
Expand Down

0 comments on commit 638157b

Please sign in to comment.