Re: [PATCH] hwrng: cctrng - fix usage counter in error path

From: Christophe JAILLET

Date: Thu Oct 29 2026 - 15:07:10 EST



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@xxxxxxxxx>
---
based on sashiko review
https://lore.kernel.org/linux-crypto/67844d9d-d4d4-4026-9549-73589afcc1ff@xxxxxxxxxx/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 */