diff options
Diffstat (limited to 'drivers/char/tty_io.c')
-rw-r--r-- | drivers/char/tty_io.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c index 36098ee8fe65..959083961024 100644 --- a/drivers/char/tty_io.c +++ b/drivers/char/tty_io.c | |||
@@ -1213,12 +1213,13 @@ static void tty_line_name(struct tty_driver *driver, int index, char *p) | |||
1213 | * be held until the 'fast-open' is also done. Will change once we | 1213 | * be held until the 'fast-open' is also done. Will change once we |
1214 | * have refcounting in the driver and per driver locking | 1214 | * have refcounting in the driver and per driver locking |
1215 | */ | 1215 | */ |
1216 | struct tty_struct *tty_driver_lookup_tty(struct tty_driver *driver, int idx) | 1216 | struct tty_struct *tty_driver_lookup_tty(struct tty_driver *driver, |
1217 | struct inode *inode, int idx) | ||
1217 | { | 1218 | { |
1218 | struct tty_struct *tty; | 1219 | struct tty_struct *tty; |
1219 | 1220 | ||
1220 | if (driver->ops->lookup) | 1221 | if (driver->ops->lookup) |
1221 | return driver->ops->lookup(driver, idx); | 1222 | return driver->ops->lookup(driver, inode, idx); |
1222 | 1223 | ||
1223 | tty = driver->ttys[idx]; | 1224 | tty = driver->ttys[idx]; |
1224 | return tty; | 1225 | return tty; |
@@ -1539,10 +1540,11 @@ void tty_release_dev(struct file *filp) | |||
1539 | int devpts; | 1540 | int devpts; |
1540 | int idx; | 1541 | int idx; |
1541 | char buf[64]; | 1542 | char buf[64]; |
1543 | struct inode *inode; | ||
1542 | 1544 | ||
1545 | inode = filp->f_path.dentry->d_inode; | ||
1543 | tty = (struct tty_struct *)filp->private_data; | 1546 | tty = (struct tty_struct *)filp->private_data; |
1544 | if (tty_paranoia_check(tty, filp->f_path.dentry->d_inode, | 1547 | if (tty_paranoia_check(tty, inode, "tty_release_dev")) |
1545 | "tty_release_dev")) | ||
1546 | return; | 1548 | return; |
1547 | 1549 | ||
1548 | check_tty_count(tty, "tty_release_dev"); | 1550 | check_tty_count(tty, "tty_release_dev"); |
@@ -1751,7 +1753,7 @@ void tty_release_dev(struct file *filp) | |||
1751 | 1753 | ||
1752 | /* Make this pty number available for reallocation */ | 1754 | /* Make this pty number available for reallocation */ |
1753 | if (devpts) | 1755 | if (devpts) |
1754 | devpts_kill_index(idx); | 1756 | devpts_kill_index(inode, idx); |
1755 | } | 1757 | } |
1756 | 1758 | ||
1757 | /** | 1759 | /** |
@@ -1836,7 +1838,7 @@ retry_open: | |||
1836 | got_driver: | 1838 | got_driver: |
1837 | if (!tty) { | 1839 | if (!tty) { |
1838 | /* check whether we're reopening an existing tty */ | 1840 | /* check whether we're reopening an existing tty */ |
1839 | tty = tty_driver_lookup_tty(driver, index); | 1841 | tty = tty_driver_lookup_tty(driver, inode, index); |
1840 | 1842 | ||
1841 | if (IS_ERR(tty)) | 1843 | if (IS_ERR(tty)) |
1842 | return PTR_ERR(tty); | 1844 | return PTR_ERR(tty); |