diff options
author | Jiri Slaby <jslaby@suse.cz> | 2012-11-15 03:49:56 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-11-15 20:20:58 -0500 |
commit | 191c5f10275cfbb36802edadbdb10c73537327b4 (patch) | |
tree | 93e6f0d57cb1295fb7c461dbe5ecefafeb4ad15a /drivers/isdn/i4l | |
parent | d0f59141ca40159c9d142c0f62e9aea61f846539 (diff) |
TTY: call tty_port_destroy in the rest of drivers
After commit "TTY: move tty buffers to tty_port", the tty buffers are
not freed in some drivers. This is because tty_port_destructor is not
called whenever a tty_port is freed. This was an assumption I counted
with but was unfortunately untrue. So fix the drivers to fulfil this
assumption.
To be sure, the TTY buffers (and later some stuff) are gone along with
the tty_port, we have to call tty_port_destroy at tear-down places.
This is mostly where the structure containing a tty_port is freed.
This patch does exactly that -- put tty_port_destroy at those places.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/isdn/i4l')
-rw-r--r-- | drivers/isdn/i4l/isdn_tty.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/isdn/i4l/isdn_tty.c b/drivers/isdn/i4l/isdn_tty.c index b817809f763c..e09dc8a5e743 100644 --- a/drivers/isdn/i4l/isdn_tty.c +++ b/drivers/isdn/i4l/isdn_tty.c | |||
@@ -1849,6 +1849,8 @@ err_unregister: | |||
1849 | kfree(info->fax); | 1849 | kfree(info->fax); |
1850 | #endif | 1850 | #endif |
1851 | kfree(info->port.xmit_buf - 4); | 1851 | kfree(info->port.xmit_buf - 4); |
1852 | info->port.xmit_buf = NULL; | ||
1853 | tty_port_destroy(&info->port); | ||
1852 | } | 1854 | } |
1853 | tty_unregister_driver(m->tty_modem); | 1855 | tty_unregister_driver(m->tty_modem); |
1854 | err: | 1856 | err: |
@@ -1870,6 +1872,8 @@ isdn_tty_exit(void) | |||
1870 | kfree(info->fax); | 1872 | kfree(info->fax); |
1871 | #endif | 1873 | #endif |
1872 | kfree(info->port.xmit_buf - 4); | 1874 | kfree(info->port.xmit_buf - 4); |
1875 | info->port.xmit_buf = NULL; | ||
1876 | tty_port_destroy(&info->port); | ||
1873 | } | 1877 | } |
1874 | tty_unregister_driver(dev->mdm.tty_modem); | 1878 | tty_unregister_driver(dev->mdm.tty_modem); |
1875 | put_tty_driver(dev->mdm.tty_modem); | 1879 | put_tty_driver(dev->mdm.tty_modem); |