hwrng: ks-sa - Add minimum sleep time before ready-polling
authorAlexander Sverdlin <alexander.sverdlin@nokia.com>
Wed, 6 Nov 2019 09:30:49 +0000 (09:30 +0000)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sun, 17 Nov 2019 00:37:29 +0000 (08:37 +0800)
commit6d01d8511dceb9cd40f72eb102b7d24f0b2e997b
treee73f92591dbda36418e4b5f218fbafbc983f310e
parent698b22273efa893d664e64116aa844cfb5057a5f
hwrng: ks-sa - Add minimum sleep time before ready-polling

Current polling timeout is 25 us. The hardware is currently configured to
harvest the entropy for 81920 us. This leads to timeouts even during
blocking read (wait=1).

Log snippet:
[    5.727589] [<c040ffcc>] (ks_sa_rng_probe) from [<c04181e8>] (platform_drv_probe+0x58/0xb4)
...
[    5.727805] hwrng: no data available
...
[   13.157016] random: systemd: uninitialized urandom read (16 bytes read)
[   13.157033] systemd[1]: Initializing machine ID from random generator.
...
[   15.848770] random: fast init done
...
[   15.848807] random: crng init done

After the patch:
[    6.223534] random: systemd: uninitialized urandom read (16 bytes read)
[    6.223551] systemd[1]: Initializing machine ID from random generator.
...
[    6.876075] random: fast init done
...
[    6.954200] random: systemd: uninitialized urandom read (16 bytes read)
[    6.955244] random: systemd: uninitialized urandom read (16 bytes read)
...
[    7.121948] random: crng init done

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/char/hw_random/ks-sa-rng.c