From 352cf63679ac29fb329417e4ef19d8b39e196f20 Mon Sep 17 00:00:00 2001 From: Alexander Viro Date: Wed, 23 Apr 2003 04:18:07 -0700 Subject: [PATCH] [PATCH] tty cleanups (1/12) Christoph's fix for devfs problems with pty. --- drivers/char/pty.c | 6 +----- drivers/char/tty_io.c | 3 ++- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/char/pty.c b/drivers/char/pty.c index 85c52650290d3..c7a5300d47478 100644 --- a/drivers/char/pty.c +++ b/drivers/char/pty.c @@ -95,7 +95,6 @@ static void pty_close(struct tty_struct * tty, struct file * filp) } } #endif - tty_unregister_device (&tty->link->driver, minor(tty->device)); tty_vhangup(tty->link); } } @@ -448,17 +447,14 @@ int __init pty_init(void) init_waitqueue_head(&ptm_state[i][j].open_wait); pts_driver[i] = pty_slave_driver; -#ifdef CONFIG_DEVFS_FS - pts_driver[i].name = "pts/%d"; -#else pts_driver[i].name = "pts"; -#endif pts_driver[i].proc_entry = 0; pts_driver[i].major = UNIX98_PTY_SLAVE_MAJOR+i; pts_driver[i].minor_start = 0; pts_driver[i].name_base = i*NR_PTYS; pts_driver[i].num = ptm_driver[i].num; pts_driver[i].other = &ptm_driver[i]; + pts_driver[i].flags |= TTY_DRIVER_NO_DEVFS; pts_driver[i].table = pts_table[i]; pts_driver[i].termios = pts_termios[i]; pts_driver[i].termios_locked = pts_termios_locked[i]; diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c index 3f6589b8580aa..3310d687c4bf9 100644 --- a/drivers/char/tty_io.c +++ b/drivers/char/tty_io.c @@ -2215,7 +2215,8 @@ int tty_unregister_driver(struct tty_driver *driver) driver->termios_locked[i] = NULL; kfree(tp); } - tty_unregister_device(driver, driver->minor_start + i); + if (!(driver->flags & TTY_DRIVER_NO_DEVFS)) + tty_unregister_device(driver, driver->minor_start + i); } proc_tty_unregister_driver(driver); return 0; -- 2.53.0