hwrng: omap - Set default quality
authorRouven Czerwinski <r.czerwinski@pengutronix.de>
Mon, 11 Mar 2019 10:58:57 +0000 (11:58 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 22 Mar 2019 12:57:27 +0000 (20:57 +0800)
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>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/char/hw_random/omap-rng.c

index b65ff696289954a76ba9fcf2a706a4edd7aad320..e9b6ac61fb7f64953e988c130d53f518ca3e7ab0 100644 (file)
@@ -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);