|
@@ -1544,13 +1544,14 @@ static void release_one_tty(struct work_struct *work)
|
|
struct tty_struct *tty =
|
|
struct tty_struct *tty =
|
|
container_of(work, struct tty_struct, hangup_work);
|
|
container_of(work, struct tty_struct, hangup_work);
|
|
struct tty_driver *driver = tty->driver;
|
|
struct tty_driver *driver = tty->driver;
|
|
|
|
+ struct module *owner = driver->owner;
|
|
|
|
|
|
if (tty->ops->cleanup)
|
|
if (tty->ops->cleanup)
|
|
tty->ops->cleanup(tty);
|
|
tty->ops->cleanup(tty);
|
|
|
|
|
|
tty->magic = 0;
|
|
tty->magic = 0;
|
|
tty_driver_kref_put(driver);
|
|
tty_driver_kref_put(driver);
|
|
- module_put(driver->owner);
|
|
|
|
|
|
+ module_put(owner);
|
|
|
|
|
|
spin_lock(&tty_files_lock);
|
|
spin_lock(&tty_files_lock);
|
|
list_del_init(&tty->tty_files);
|
|
list_del_init(&tty->tty_files);
|