summaryrefslogtreecommitdiffstats
path: root/configs/platform-v7a/patches/linux-5.1/0001-hwrng-omap-Set-default-quality.patch
diff options
context:
space:
mode:
Diffstat (limited to 'configs/platform-v7a/patches/linux-5.1/0001-hwrng-omap-Set-default-quality.patch')
-rw-r--r--configs/platform-v7a/patches/linux-5.1/0001-hwrng-omap-Set-default-quality.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/configs/platform-v7a/patches/linux-5.1/0001-hwrng-omap-Set-default-quality.patch b/configs/platform-v7a/patches/linux-5.1/0001-hwrng-omap-Set-default-quality.patch
new file mode 100644
index 0000000..eb11fe8
--- /dev/null
+++ b/configs/platform-v7a/patches/linux-5.1/0001-hwrng-omap-Set-default-quality.patch
@@ -0,0 +1,35 @@
+From e99f217277bd40d0ecc6e1d506abfcd7b3a79ff7 Mon Sep 17 00:00:00 2001
+From: Rouven Czerwinski <r.czerwinski@pengutronix.de>
+Date: Mon, 11 Mar 2019 10:19:36 +0100
+Subject: [PATCH] hwrng: omap - Set default quality
+
+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(+)
+
+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);