* [PATCH] hwrng: cctrng - fix usage counter in error path
@ 2026-10-29 8:15 Martin Kaiser
2026-10-29 19:04 ` Christophe JAILLET
0 siblings, 1 reply; 2+ messages in thread
From: Martin Kaiser @ 2026-10-29 8:15 UTC (permalink / raw)
To: Hadar Gat, Olivia Mackall, Herbert Xu
Cc: Christophe JAILLET, Martin Kaiser, linux-crypto, linux-kernel
If probe fails after the runtime pm usage counter was incremented,
we have to decrement it before we exit.
Remove the cc_trng_pm_fini call in the error path. It calls
pm_runtime_disable before runtime pm is enabled.
Fixes: a583ed310bb6 ("hwrng: cctrng - introduce Arm CryptoCell driver")
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
based on sashiko review
https://lore.kernel.org/linux-crypto/67844d9d-d4d4-4026-9549-73589afcc1ff@wanadoo.fr/T/#m1a770f5f9eeed95b48cad7545580aed4fa74e6fa
compile-tested only
drivers/char/hw_random/cctrng.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/char/hw_random/cctrng.c b/drivers/char/hw_random/cctrng.c
index 03401ee59a8e..d9492d25ecbb 100644
--- a/drivers/char/hw_random/cctrng.c
+++ b/drivers/char/hw_random/cctrng.c
@@ -533,9 +533,9 @@ static int cctrng_probe(struct platform_device *pdev)
/* registration of the hwrng device */
rc = devm_hwrng_register(dev, &drvdata->rng);
if (rc) {
- dev_err(dev, "Could not register hwrng device.\n");
- cc_trng_pm_fini(drvdata);
- return rc;
+ pm_runtime_put_noidle(dev);
+ return dev_err_probe(dev, rc,
+ "Could not register hwrng device: %d\n", rc);
}
/* trigger HW to start generate data */
--
2.43.7
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] hwrng: cctrng - fix usage counter in error path
2026-10-29 8:15 [PATCH] hwrng: cctrng - fix usage counter in error path Martin Kaiser
@ 2026-10-29 19:04 ` Christophe JAILLET
0 siblings, 0 replies; 2+ messages in thread
From: Christophe JAILLET @ 2026-10-29 19:04 UTC (permalink / raw)
To: Martin Kaiser, Hadar Gat, Olivia Mackall, Herbert Xu
Cc: linux-crypto, linux-kernel
Le 29/10/2026 à 09:15, Martin Kaiser a écrit :
> If probe fails after the runtime pm usage counter was incremented,
> we have to decrement it before we exit.
>
> Remove the cc_trng_pm_fini call in the error path. It calls
> pm_runtime_disable before runtime pm is enabled.
>
> Fixes: a583ed310bb6 ("hwrng: cctrng - introduce Arm CryptoCell driver")
> Signed-off-by: Martin Kaiser <martin@kaiser.cx>
> ---
> based on sashiko review
> https://lore.kernel.org/linux-crypto/67844d9d-d4d4-4026-9549-73589afcc1ff@wanadoo.fr/T/#m1a770f5f9eeed95b48cad7545580aed4fa74e6fa
>
> compile-tested only
>
> drivers/char/hw_random/cctrng.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/char/hw_random/cctrng.c b/drivers/char/hw_random/cctrng.c
> index 03401ee59a8e..d9492d25ecbb 100644
> --- a/drivers/char/hw_random/cctrng.c
> +++ b/drivers/char/hw_random/cctrng.c
> @@ -533,9 +533,9 @@ static int cctrng_probe(struct platform_device *pdev)
> /* registration of the hwrng device */
> rc = devm_hwrng_register(dev, &drvdata->rng);
> if (rc) {
> - dev_err(dev, "Could not register hwrng device.\n");
> - cc_trng_pm_fini(drvdata);
> - return rc;
> + pm_runtime_put_noidle(dev);
> + return dev_err_probe(dev, rc,
> + "Could not register hwrng device: %d\n", rc);
No need to duplicate rc in a dev_err_probe() call.
CJ
> }
>
> /* trigger HW to start generate data */
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-29 19:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-29 8:15 [PATCH] hwrng: cctrng - fix usage counter in error path Martin Kaiser
2026-10-29 19:04 ` Christophe JAILLET
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®