diff mbox series

hwrng: omap - Set default quality

Message ID 20190311105857.30792-1-r.czerwinski@pengutronix.de (mailing list archive)
State Accepted
Delegated to: Herbert Xu
Headers show
Series hwrng: omap - Set default quality | expand

Commit Message

Rouven Czerwinski March 11, 2019, 10:58 a.m. UTC
Newer combinations of the glibc, kernel and openssh can result in long initial
startup times on OMAP devices:

[    6.671425] systemd-rc-once[102]: Creating ED25519 key; this may take some time ...
[  142.652491] systemd-rc-once[102]: Creating ED25519 key; done.

due to the blocking getrandom(2) system call:

[  142.610335] random: crng init done

Set the quality level for the omap hwrng driver allowing the kernel to use the
hwrng as an entropy source at boot.

Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
---
 drivers/char/hw_random/omap-rng.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Herbert Xu March 22, 2019, 1:03 p.m. UTC | #1
On Mon, Mar 11, 2019 at 11:58:57AM +0100, Rouven Czerwinski wrote:
> Newer combinations of the glibc, kernel and openssh can result in long initial
> startup times on OMAP devices:
> 
> [    6.671425] systemd-rc-once[102]: Creating ED25519 key; this may take some time ...
> [  142.652491] systemd-rc-once[102]: Creating ED25519 key; done.
> 
> due to the blocking getrandom(2) system call:
> 
> [  142.610335] random: crng init done
> 
> Set the quality level for the omap hwrng driver allowing the kernel to use the
> hwrng as an entropy source at boot.
> 
> Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
> ---
>  drivers/char/hw_random/omap-rng.c | 1 +
>  1 file changed, 1 insertion(+)

Patch applied.  Thanks.
diff mbox series

Patch

diff --git a/drivers/char/hw_random/omap-rng.c b/drivers/char/hw_random/omap-rng.c
index b65ff6962899..e9b6ac61fb7f 100644
--- a/drivers/char/hw_random/omap-rng.c
+++ b/drivers/char/hw_random/omap-rng.c
@@ -443,6 +443,7 @@  static int omap_rng_probe(struct platform_device *pdev)
 	priv->rng.read = omap_rng_do_read;
 	priv->rng.init = omap_rng_init;
 	priv->rng.cleanup = omap_rng_cleanup;
+	priv->rng.quality = 900;
 
 	priv->rng.priv = (unsigned long)priv;
 	platform_set_drvdata(pdev, priv);