aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn/i4l
diff options
context:
space:
mode:
authorJiri Slaby <jslaby@suse.cz>2012-11-15 03:49:56 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-11-15 20:20:58 -0500
commit191c5f10275cfbb36802edadbdb10c73537327b4 (patch)
tree93e6f0d57cb1295fb7c461dbe5ecefafeb4ad15a /drivers/isdn/i4l
parentd0f59141ca40159c9d142c0f62e9aea61f846539 (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.c4
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);
1854err: 1856err:
@@ -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);