nfc: nci: add missed destroy_workqueue in nci_register_device
authorWang Hai <wanghai38@huawei.com>
Fri, 17 Jul 2020 07:10:16 +0000 (15:10 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 17 Jul 2020 20:08:08 +0000 (13:08 -0700)
When nfc_register_device fails in nci_register_device,
destroy_workqueue() shouled be called to destroy ndev->tx_wq.

Fixes: 3c1c0f5dc80b ("NFC: NCI: Fix nci_register_device init sequence")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wang Hai <wanghai38@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/nfc/nci/core.c

index 7cd5248..78ea8c9 100644 (file)
@@ -1228,10 +1228,13 @@ int nci_register_device(struct nci_dev *ndev)
 
        rc = nfc_register_device(ndev->nfc_dev);
        if (rc)
-               goto destroy_rx_wq_exit;
+               goto destroy_tx_wq_exit;
 
        goto exit;
 
+destroy_tx_wq_exit:
+       destroy_workqueue(ndev->tx_wq);
+
 destroy_rx_wq_exit:
        destroy_workqueue(ndev->rx_wq);