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 <[email protected]>
Signed-off-by: Wang Hai <[email protected]>
---
v1->v2:
Change the module from "net: cxgb3:" to "nfc: nci:"
net/nfc/nci/core.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/net/nfc/nci/core.c b/net/nfc/nci/core.c
index 7cd524884304..78ea8c94dcba 100644
--- a/net/nfc/nci/core.c
+++ b/net/nfc/nci/core.c
@@ -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);
--
2.17.1
> When nfc_register_device fails in nci_register_device,
> destroy_workqueue() shouled be called to destroy ndev->tx_wq.
Would an other imperative wording be preferred for the commit message?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?id=f8456690ba8eb18ea4714e68554e242a04f65cff#n151
…
> +++ b/net/nfc/nci/core.c
> @@ -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);
…
How do you think about to use the following source code variant
for this function implementation?
if (!rc)
goto exit;
destroy_workqueue(ndev->tx_wq);
Regards,
Markus
From: Wang Hai <[email protected]>
Date: Fri, 17 Jul 2020 15:10:16 +0800
> 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 <[email protected]>
> Signed-off-by: Wang Hai <[email protected]>
> ---
> v1->v2:
> Change the module from "net: cxgb3:" to "nfc: nci:"
Applied, thanks.