2020-07-17 07:14:15

by Wang Hai

[permalink] [raw]
Subject: [PATCH v2] nfc: nci: add missed destroy_workqueue in nci_register_device

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


2020-07-17 07:49:07

by Markus Elfring

[permalink] [raw]
Subject: Re: [PATCH v2] nfc: nci: add missed destroy_workqueue in nci_register_device

> 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

2020-07-17 20:09:02

by David Miller

[permalink] [raw]
Subject: Re: [PATCH v2] nfc: nci: add missed destroy_workqueue in nci_register_device

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.