tty:n_gsm.c: destroy port by tty_port_destroy()
authorXiaoming Ni <nixiaoming@huawei.com>
Tue, 24 Sep 2019 09:25:56 +0000 (17:25 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 4 Oct 2019 13:11:26 +0000 (15:11 +0200)
According to the comment of tty_port_destroy():
    When a port was initialized using tty_port_init, one has to destroy
    the port by tty_port_destroy();

tty_port_init() is called in gsm_dlci_alloc()
so tty_port_destroy() needs to be called in gsm_dlci_free()

Signed-off-by: Xiaoming Ni <nixiaoming@huawei.com>
Link: https://lore.kernel.org/r/1569317156-45850-1-git-send-email-nixiaoming@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/n_gsm.c

index 36a3eb4..3f5bcc9 100644 (file)
@@ -1681,6 +1681,7 @@ static void gsm_dlci_free(struct tty_port *port)
 
        del_timer_sync(&dlci->t1);
        dlci->gsm->dlci[dlci->addr] = NULL;
+       tty_port_destroy(&dlci->port);
        kfifo_free(dlci->fifo);
        while ((dlci->skb = skb_dequeue(&dlci->skb_list)))
                dev_kfree_skb(dlci->skb);